初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)

初探swift语言的学习笔记四-2(对上一节有些遗留进行处理),第1张

概述作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/30314359 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! 在上一节中有些问题还没有弄清,在这里自己写了一下,做了一下验证,并希望能给读者有所帮助。 看例子: 例子中包括 callback函数的声明与使用 作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/30314359 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢!


在上一节中有些问题还没有弄清,在这里自己写了一下,做了一下验证,并希望能给读者有所帮助。

看例子:

例子中包括

callback函数的声明与使用

函数作为形参进行传递

函数作为返回值

函数支持泛型,当然class也支持。

[cpp] view plain copy importFoundation typealiasPoint=(Int,Int) letorigin:Point=(0,0) //初始化函数用 funcwillDoit(sender:CallBackManager) { println("willDoitdefaulft.") } funcdIDDoit(sender:CallBackManager) { println("dIDDoitdefaulft.") } classCallBackManager //声明两个函数变量 varwilldoitcallback:(CallBackManager)->()=willDoit vardIDdoitcallback:(CallBackManager)->()=dIDDoit varcallbackname="helloworld" init() functestCall() self.willdoitcallback(self) callbackname="resetdata" println("todosomething.") self.dIDdoitcallback(self) //函数地址作为形参传递 functestparams(addfunc:(Int,Int)->(Int),instruction:String)->Bool println("3+5=\(addfunc(3,5)),第二个参数值为:\(instruction)") returntrue //函数作为返回值 functestfunctionReturn(instruction:String)->(Int,Int)->Int funcMultiplication(a:Int,b:Int)->Int returna*b returnMultiplication //自动闭包类型 //调用simpleAssert(testNumber%2==0,"testNumberisn'tanevennumber.") funcsimpleAssert(condition:@auto_closure()->Bool,message:String){ if!condition(){ println(message) //可变参数 funcunkNowParam(sList:String...) varret:String="" forusbinsList println(usb) ret+=(usb+",") //使用泛型 //simpleMin(17,42)//整型参数 //simpleMin(3.14159,2.71828)//浮点型 funcsimpleMin<T:Comparable>(x:T,y:T)->T{ ifx<y{ returny returnx }

调用:

classVIEwController:UIVIEwController{ funcwillcallback(callback:CallBackManager) println("回调前结果\(callback.callbackname)") funcdIDcallback(callback:CallBackManager) println("回调后结果\(callback.callbackname)") funcadd(a:Int,b:Int)->Int returna+b overrIDefuncvIEwDIDLoad(){ super.vIEwDIDLoad() vartest=CallBackManager() test.willdoitcallback=willcallback test.dIDdoitcallback=dIDcallback test.testCall() test.testparams(add,instruction:"测试函数作为传参") letfuncMulti=test.testfunctionReturn("返回函数地址") letret=funcMulti(5,5) println("5*5=\(ret)") return;} } 总结

以上是内存溢出为你收集整理的初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)全部内容,希望文章能够帮你解决初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存