当前位置: 首页 > 知识库问答 >
问题:

不推荐使用Objective-C选择器的字符串文字;改用“#selector”[duplicate]

墨阳羽
2023-03-14

我有以下代码:

 override func viewDidLoad() {
            super.viewDidLoad()
            //Looks for single or multiple taps.
            let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
            view.addGestureRecognizer(tap)
            // Do any additional setup after loading the view.
        }

func dismissKeyboard() {
    //Causes the view (or one of its embedded text fields) to resign the first responder status.
    view.endEditing(true)
}

在运行应用程序时,当错误修复工作发生另一个错误时,就会出现此错误

共有3个答案

莘绍元
2023-03-14

从Swift 2.2开始,请改用以下命令:#selector(YourClass.DissKeyboard)

王英奕
2023-03-14
    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard))
湛嘉歆
2023-03-14

由于swift语言的更新,您会出现此错误,请更改您的点击选择器,以执行以下操作:

let tap = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard))

确保方法discuskeyboard在同一个视图控制器中,如果不是,则需要执行#selector(whateverhasthatmethod.discuskeyboard)

此外,请确保discissKeyboard方法实际存在,它应该是以下内容:

func dismissKeyboard(){
    YourInputField.endEditing(true)
}
 类似资料:
  • 本文向大家介绍Objective-C语言使用C字符串,包括了Objective-C语言使用C字符串的使用技巧和注意事项,需要的朋友参考一下 示例 转换NSString为const char使用-[NSString UTF8String]: -[NSString cStringUsingEncoding:]如果您的字符串使用非UTF-8编码,则也可以使用。 对于反向路径,请使用-[NSString

  • Objective-C编程语言中的字符串使用表示,其子类提供了几种创建字符串对象的方法。 创建字符串对象的最简单方法是使用Objective-C的标识符:来构造 - 下面代码中显示了创建和打印字符串的简单示例 - 编译和执行上面的代码时,它产生的结果如下 - Objective-C支持多种操作字符串的方法,如下列表 - 编号 方法 描述 1 返回接收者的大写字母表示。 2 返回给定数组位置的字符。

  • 本文向大家介绍C++ 修改字符串文字,包括了C++ 修改字符串文字的使用技巧和注意事项,需要的朋友参考一下 示例 C ++ 11 "hello world" 是字符串文字,因此对其进行修改会产生未定义的行为。 str上面示例中的初始化在C ++ 03中已正式弃用(计划从该标准的将来版本中删除)。2003年之前,许多编译器可能对此发出警告(例如,可疑转换)。2003年之后,编译器通常会警告不要使用转

  • 本文向大家介绍JS常用字符串方法(推荐),包括了JS常用字符串方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 JS常用字符串方法(推荐) // 以下省略前半部分的 " str01. " (部分不是这个喔) charAt(num) // 得到指定索引位置的单字符 charCodeAt(num) // 得到指定索引位置字符的Unicode值 (ascii为其子集) concat(str01,st

  • 我的代码中有什么错误? 给定一个由小写字母组成的字符串,请按升序排列其所有字母。 输入:输入的第一行包含T,表示测试用例的数量。然后是每个测试用例的描述。测试用例的第一行包含表示字符串长度的正整数N。第二行包含字符串。 输出:对于每个测试用例,输出排序后的字符串。 约束条件: 对于输入: 输出: 预期输出:

  • 我得到的回应是: {“response”:{“id”:“R1”,“cmd”:[{“batchSize”:50,“startRow”:0,“name”:“doLogin”,“result”:“OK”,“attributes”:[{“name”:“businessName”,“type”:“String”},{“name”:“objId”,“type”:“Long”},{“name”;“type”;“