初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)
生活随笔
收集整理的這篇文章主要介紹了
初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
作者:fengsh998
原文地址:http://blog.csdn.net/fengsh998/article/details/30314359
轉(zhuǎn)載請注明出處
如果覺得文章對你有所幫助,請通過留言或關(guān)注微信公眾帳號fengsh998來支持我,謝謝!
import?Foundation?? ?? typealias?Point?=?(Int,?Int)?? ?? let?origin:?Point?=?(0,?0)?? ?? ?? //初始化函數(shù)用?? func?willDoit(sender?:?CallBackManager)?? {?? ????println("willDoit?defaulft.")?? }?? ?? func?didDoit(sender?:?CallBackManager)?? {?? ????println("didDoit?defaulft.")?? }?? ?? class?CallBackManager?? {?? ????//聲明兩個函數(shù)變量?? ????var?willdoitcallback?:?(CallBackManager)?->?()?=?willDoit?? ????var?diddoitcallback?:?(CallBackManager)?->?()?=?didDoit?? ?????? ????var?callbackName?=?"hello?world"?? ????init()?? ????{?? ?????????? ????}?? ?? ????func?testCall()?? ????{?? ????????self.willdoitcallback(self)?? ?????????? ????????callbackName?=?"reset?data"?? ????????println("to?do?something.")?? ?????????? ????????self.diddoitcallback(self)?? ????}?? ?????? ????//函數(shù)地址作為形參傳遞?? ????func?testparams(addfunc:(Int,Int)->(Int),instruction?:?String)?->Bool?? ????{?? ????????println("3?+?5?=?\(addfunc(3,5))?,?第二個參數(shù)值為:\(instruction)")?? ????????return?true?? ????}?? ?????? ????//函數(shù)作為返回值?? ????func?testfunctionReturn(instruction?:?String)?->?(Int,Int)?->?Int?? ????{?? ????????func?Multiplication(a:Int,b:Int)?->Int?? ????????{?? ????????????return?a?*?b?? ????????}?? ?????????? ????????return?Multiplication?? ????}?? ?????? ????//自動閉包類型?? ????//調(diào)用simpleAssert(testNumber?%?2?==?0,?"testNumber?isn't?an?even?number.")?? ????func?simpleAssert(condition:?@auto_closure?()?->?Bool,?message:?String)?{?? ????????if?!condition()?{?? ????????????println(message)?? ????????}?? ????}?? ?????? ????//可變參數(shù)?? ????func?unknowParam(slist?:?String...)?? ????{?? ????????var?ret?:?String?=?""?? ????????for?usb?in?slist?? ????????{?? ????????????println(usb)?? ????????????ret?+=?(usb?+?",")?? ????????}?? ????}?? ?????? ????//使用泛型?? ????//simpleMin(17,?42)?????????????????//整型參數(shù)?? ????//simpleMin(3.14159,?2.71828)???????//浮點型?? ?? ????func?simpleMin<T:?Comparable>(x:?T,?y:?T)?->?T?{?? ????????if?x?<?y?{?? ????????????return?y?? ????????}?? ????????return?x?? ????}?? }??
class?ViewController:?UIViewController?{?? ?????? ?????? ????func?willcallback(callback?:?CallBackManager)?? ????{?? ????????println("回調(diào)前結(jié)果\(callback.callbackName)")?? ????}?? ?????? ????func?didcallback(callback?:?CallBackManager)?? ????{?? ????????println("回調(diào)后結(jié)果\(callback.callbackName)")?? ????}?? ?????? ????func?add(a:Int,b:Int)?->?Int?? ????{?? ????????return?a?+?b?? ????}?? ?? ????override?func?viewDidLoad()?{?? ????????super.viewDidLoad()?? ?? ????????var?test?=?CallBackManager()?? ????????test.willdoitcallback?=?willcallback?? ????????test.diddoitcallback?=?didcallback?? ????????test.testCall()?? ?????????? ????????test.testparams(add,instruction:?"測試函數(shù)作為傳參")?? ?????????? ????????let?funcMulti?=?test.testfunctionReturn("返回函數(shù)地址")?? ?????????? ????????let?ret?=?funcMulti(5,5)?? ????????println("5?*?5?=?\(ret)")?? ?????????? ????????return;}?? } ?
在上一節(jié)中有些問題還沒有弄清,在這里自己寫了一下,做了一下驗證,并希望能給讀者有所幫助。
看例子:
例子中包括
callback函數(shù)的聲明與使用
函數(shù)作為形參進行傳遞
函數(shù)作為返回值
函數(shù)支持泛型,當(dāng)然class也支持。
[cpp]?view plaincopy
調(diào)用:
[cpp]?view plaincopy
總結(jié)
以上是生活随笔為你收集整理的初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初探swift语言的学习笔记三(闭包-匿
- 下一篇: 初探swift语言的学习笔记六(ARC-