ios – Swift使用选择器参数,如封闭

ios – Swift使用选择器参数,如封闭,第1张

概述我只是想知道是否可以将功能传递给按钮动作(通常是选择器). 例如,通常我会说: UIBarButtonItem(title: "Press", style: .Done, target: self, action: "functionToCall")func functionToCall() { // Do something} 但是我想知道是否可以做一些类似的事情: UIBarBu 我只是想知道是否可以将功能传递给按钮动作(通常是选择器).

例如,通常我会说:

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使用选择器参数,如封闭所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1110126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存