tags: swift 學習筆記
arc機制會記錄對每個類型別例項的引用次數,如果變為0,arc會將其釋放,分配的資源會被**。
自動引用計數只針對類例項適用。
引用型別
是否影響引用計數
是否可以為nil
是否可以為常量
強引用是是是
弱引用否是否
無主引用否否
是影響類例項被**的因素:是否存在對該例項的強引用。
強引用環:引用型別的例項相互持有對方的引用,形成類似環形結構。
採用弱類引用
乙個類例項中的引用屬性如果可以為nil,可以將其宣告為弱引用,而且一般採用可選型別。
採用無主引用
乙個類例項中的引用屬性如果要求始終有值,可以將其宣告為無主引用。
無主引用結合自動拆包可選型別屬性
兩個相互引用的類例項中,引用屬性都不能為空,可以用這種方式。
定義閉包的捕獲列表,在捕獲列表宣告捕獲的引用為弱引用或者無主引用
Swift學習筆記系列 (16)可選鏈
tags swift 學習筆記 可選鏈提供的是一種方便訪問可選型別值的途徑。可選鏈可以替代強制拆包的寫法,而且寫法可以更簡潔。可選鏈可以多級,直達你想要訪問的內容。可選鏈可以方法屬性 下標和方法。可選鏈返回的必定是乙個可選型別,返回nil則證明這條可選鏈中的某個環節是斷掉 其中有nil 的。用法 簡...
Swift學習筆記系列 (23)泛型
tags swift 學習筆記 感慨一下 泛型這一章很亂,很零碎,很難總結。避免重複 增加靈活性 所有型別 泛型是另外一種引數,引數表示的是型別,泛型小可以用在函式上,大可用在型別定義上。這裡 型別 不包括協議,協議定義不能直接採用泛型,可以採用關聯型別。函式引數的型別也是引數的函式叫做泛型函式。這...
Swift學習筆記系列 (24)訪問控制
tags swift 學習筆記 單個的類 結構體和列舉 屬於1的屬性 方法 構造方法和下標 協議的適用範圍 訪問控制的基礎 一系列 xcode中的乙個構造目標 單獨的源 檔案 本模組的任意原始檔內可以訪問 匯入所在模組的其他模組的原始檔可以訪問 預設的訪問級別 同一模組的任意源 中都可以訪問 同一原...