/*************************
協議(protocol)****************************/
// 當協議中有可選實現方法時
, 該協議前要用關鍵字
@objc
修飾,
可選實現方法前, 用
optional 修飾
@objc
protocol
marrydelegate
// 必須要實現的
protocol
dividdelegate
class
man:
person
,marrydelegate
,dividdelegate
@objc
func
wash()
// @objc func hitdoudou()
func
lookafterchild() }
// 呼叫協議
letman:
man=
man(name: "大錘
", age: 25)
man.cook()
man.
wash()
/**************** extension(
擴充套件)*******************/
// 1.
擴充套件乙個類遵循的協議中的方法實現
extension
man }
man.
hitdoudou()
// 2.
擴充套件類的方法
(給某個類新增乙個方法
), 類似於
oc 中的
category類目
extension
man
// 擴充套件乙個類方法
class
func
eat() }
man.sing()
man.
eat()
/***************
閉包****************/
// 求兩個整型數中的最大值
// func maxvalue (a:int,b:int) ->int
// 這個函式的型別是
:(a:int,b:int) ->int
varmaxresult:((a:
int, b:
int)->
int)
// 第一種方式
: 實現閉包
maxresult=
// 第二種方式
: 實現閉包
maxresult=
// 第三種
: 實現閉包
maxresult=
// 第四種
: 實現閉包
(0代表第一位元素
, 1代表第二位元素)
maxresult=
// 第五種
: 實現閉包
maxresult=
(maxresult
(a:
3, b: 5))
Swift基礎 閉包
閉包是自包含的函式 塊,可以在在 中被傳遞和使用。閉包能捕獲和儲存騎在上下文中任意常量和變數的引用。這就是所謂的閉合幷包裹著這些常量和變數,俗稱閉包。swift會為我們管理在捕獲過程中設計的所有記憶體操作。閉包表示式式一種利用簡潔語法構建內聯的方式 2.1 sorted函式 swift標準庫提供了s...
Swift程式設計基礎(五) 閉包
閉包是自包含的函式 塊,可以在 中使用或者用來作為引數傳值。swift中的閉包和oc中的blocks比較相似。閉包可以捕獲和儲存所在上下文中任意常量和變數的引用。這就是閉合幷包裹著這些常量和變數,俗稱閉包。閉包有三種形式 1 全域性函式是乙個有名字但不會捕獲任何值的閉包 2 巢狀函式是乙個有名字並可...
Swift基礎(四) 閉包 列舉
目錄 1.閉包 閉包語法規則,閉包簡化,尾隨閉包,捕獲值,閉包是引用型別,非逃逸閉包,自動閉包 2.列舉 switch窮舉列舉,列舉關聯值,列舉的原始值,遞迴列舉 1.閉包 閉包的語法規則 var vararray aaaa gggg bbbb uuuu let varret vararray so...