Swift 基礎入門 協議 閉包

2021-07-06 09:35:13 字數 1589 閱讀 4060

/*************************

協議(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=

print

(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...