如何使用swift 2 performSelector系列的API?
随着xcode 7 b4 swift 2.x现在支持选择器。如何使用swift 2 performSelector系列的API?
如何使用选择器API而不是stringy typed“functionName:”?
let addButton = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: "functionName:")
@selector() in Swift? 这个问题是类似的,但它引用迅速1.x的缺乏选择的支持。
回答:
更新:
你会很高兴地知道,作为雨燕2.2和7.3的Xcode的,它现在可以在没有为定义的选择没有方法声明警告。有新的语法介绍。我们不再将选择器定义为"myMethodToCall:"
或Selector("myMethodToCall:")
。定义它们是这样的:
#selector(ViewController.myMethodToCall(_:)) //or without a parameter
#selector(ViewController.myMethodToCall)
Xcode将提供将您现有的选择器转换为这种新的语法。干杯!
原文:
有没有办法建立在Xcode 7.2选择将导致在所提供的功能名称不存在的情况下,会显示警告。我们仍然需要使用带'stringy'函数名称的Selector
结构。
在performSelector:
你说的API是performSelector
的API。您可以使用它像这样:
self.performSelector("functionName") //or
self.performSelector(Selector("functionName"))
回答:
雨燕2.2和的Xcode 7.3起use of sting literals as selector in selector methods has been deprecated.
参考Apple document for Xcode 7.3 release notes
你必须使用#selector expression
,如下图所示:
#selector(Class.Method)
实施例:
myButton.addTarget(objButton, action: #selector(LoginViewController.checkLogin), userInfo: nil. repeats: false)
以上是 如何使用swift 2 performSelector系列的API? 的全部内容, 来源链接: utcz.com/qa/266678.html