例如,通常我会说:
UIbarbuttonItem(Title: "Press",style: .Done,target: self,action: "functionToCall")func functionToCall() { // Do something}
但是我想知道是否可以做一些类似的事情:
UIbarbuttonItem(Title: "Press",action: { // Do Something})
我想这样做的原因是因为我的功能是超级简单的,而且看起来像是更加干净和更Swift,就像他们关闭的重点一样.
解决方法 这是Swift 3的更新解决方案.class BlockbarbuttonItem: UIbarbuttonItem { private var actionHandler: ((VoID) -> VoID)? convenIEnce init(Title: String?,style: UIbarbuttonItemStyle,actionHandler: ((VoID) -> VoID)?) { self.init(Title: Title,style: style,target: nil,action: #selector(barbuttonItempressed)) self.target = self self.actionHandler = actionHandler } convenIEnce init(image: UIImage?,actionHandler: ((VoID) -> VoID)?) { self.init(image: image,action: #selector(barbuttonItempressed)) self.target = self self.actionHandler = actionHandler } func barbuttonItempressed(sender: UIbarbuttonItem) { actionHandler?() }}总结
以上是内存溢出为你收集整理的ios – Swift使用选择器参数,如封闭全部内容,希望文章能够帮你解决ios – Swift使用选择器参数,如封闭所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)