
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
