使用闭包block的方式,一是定义成函数方式,二是定义成属性变量。
方法1:定义成属性变量
// 1 // block定义typealias BlockTarget = (String) -> (VoID)// 定义成变量var blockTarget:BlockTarget?// self.blockTarget = { text -> VoID in print("text = \(text)") }//self.navigationItem.rightbarbuttonItem = UIbarbuttonItem.init(Title: "block",style: .Done,target: self,action: Selector("blockClick"))//func blockClick(){ self.blockTarget?("block click")}
// 2//var blockAction:((String) -> (VoID))?//self.blockAction = { text -> VoID in print("action = \(text)") }//self.navigationItem.rightbarbuttonItem = UIbarbuttonItem.init(Title: "block",action: Selector("blockClick"))//func blockClick(){ self.blockAction?("black action")}
方法2:定义成函数
1、无参数的函数
// 无参数func blockHandle(handle:(VoID) -> VoID){ print("block方法:没有参数的……") handle()}// 使用self.blockHandle { () -> VoID in print("block方法:没有参数的……")}
2、带参数的函数
// 带参数func resultimageUrl(url url:String,handle:(NSURL) -> VoID){ let nsurl = NSURL(string: url) print("NSURL = \(nsurl)") handle(nsurl!)}// 使用self.resultimageUrl(url: "http://www.hao123.com") { (url:NSURL) -> VoID in print("url is \(url)")}总结
以上是内存溢出为你收集整理的swift中闭包block的使用全部内容,希望文章能够帮你解决swift中闭包block的使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)