如何使用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

回到顶部