訪問控制,內(nèi)存管理

swift系列課程

image.png
image.png
image.png
image.png
image.png
布爾類型成立就往下走,不成立就報(bào)錯(cuò)打印后面的提示
image.png
image.png

訪問控制

image.png
image.png
image.png
image.png
image.png
image.png
放在test類里面會(huì)報(bào)錯(cuò),因?yàn)閒ileprivate獲取的是整個(gè)文件的作用域,在test外面找不到Person就報(bào)錯(cuò);放在test外面的話,private作用域和fileprivate一樣都是在本文件內(nèi)部,所以不會(huì)報(bào)錯(cuò)
image.png
直接在全局作用域下的private 等同于fileprivate,一般情況下,類型為private或者fileprivate,則成員\嵌套類型默認(rèn)也是private或者fileprivate
image.png
image.png
如果結(jié)構(gòu)體有private\fileprivate的存儲(chǔ)實(shí)例屬性,那么它的成員初始化器也是private\fileprivate
image.png
協(xié)議
image.png
image.png
image.png
image.png
Person里面協(xié)議的實(shí)現(xiàn)方法run()要么大于等于Person的級(jí)別,要么大于Runnable協(xié)議的級(jí)別
Person里面run()默認(rèn)是internal級(jí)別

擴(kuò)展

image.png
Person里面run()默認(rèn)也是fileprivate-----如果有顯式設(shè)置擴(kuò)展的訪問級(jí)別,擴(kuò)展添加的成員自動(dòng)接收擴(kuò)展的訪問級(jí)別
如果沒有顯示設(shè)置擴(kuò)展的訪問級(jí)別,擴(kuò)展添加的成員的默認(rèn)訪問級(jí)別,跟直接在類型中定義的成員一樣
如果沒有顯示設(shè)置擴(kuò)展的訪問級(jí)別,擴(kuò)展添加的成員的默認(rèn)訪問級(jí)別,跟直接在類型中定義的成員一樣
可以單獨(dú)給擴(kuò)展添加的成員設(shè)置訪問級(jí)別
可以單獨(dú)給擴(kuò)展添加的成員設(shè)置訪問級(jí)別
不能給用于遵守協(xié)議的擴(kuò)展顯式設(shè)置擴(kuò)展的訪問級(jí)別
image.png

將方法賦值給var\let sss


image.png
image.png
image.png

內(nèi)存管理

image.png
let 無法保證p可以賦值為nil
ARC自動(dòng)給弱引用設(shè)置nil時(shí),不會(huì)觸發(fā)屬性觀察器
image.png
image.png
image.png

image.png
image.png
非逃逸閉包
image.png
image.png
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容