AnyObject,Any,AnyClass區(qū)別

結(jié)論:

1谷醉、AnyObject:代表任意類的實(shí)例俱尼,類的類型萎攒,僅類遵守的協(xié)議

2、 Any:代表任意類型刃永,包括function類型或者Optional類型

3羹应、 AnyClass:代表任意實(shí)例的類型(AnyObject.Type) 類型

AnyObject

通過代碼來看具體結(jié)果

class LTTech{

? ? var?age = 10

}

var?t = LTTech()

var t1: ?AnyObject = t ?

var t2: ?AnyObject = LTTech.self?

輸出內(nèi)容如下:

打印結(jié)果

protocol MyProtocol1: AnyObject {

}

class LTTech3: MyProtocol1 {

}

struct LTTech3: MyProtocol1 {

}

編譯結(jié)果

通過編譯可知,當(dāng)協(xié)議繼承AnyObject后劫灶,只有類可遵守該協(xié)議(struct是不可遵守的)


Any:

let?array: [Any] = [1,"a"]

let?array1: [AnyObject] = [1,"a"]

編譯Any結(jié)果

通過結(jié)果可知掖桦,Any可代表任意類型(包括function,Optional)

Any包含AnyObject


AnyClass:

let?tech=LTTech()

let any: AnyClass = tech.self

let any1: AnyClass = LTTech.self

let any2: AnyClass = tech.self.self

編譯結(jié)果1

通過編譯結(jié)果可知:AnyClass = AnyObject.Type

即:代表任意實(shí)例的類型


T.self : T是實(shí)例對象涌穆,當(dāng)前T.self返回的就是他本身宿稀;如果T是類,當(dāng)前T.self返回的就是元類型

let?t =LTTech()

let?t1 = t.self

let?t2 = t.self.self

lett3 =LTTech.self

self截圖

通過po t1,t2可知 t1即為t祝沸,t2也為t罩锐;即:t為實(shí)例對象是,當(dāng)前t.self返回的就是他本身

t3匯編

通過匯編代碼涩惑,任何讀取t3對應(yīng)的值竭恬,上圖表明當(dāng)t為類,當(dāng)前t.self返回的就是元類型

Self

Self的一般用法

1:作為方法返回值萍聊,代表當(dāng)前類悦析;

2:協(xié)議返回Self,Self代表遵循該協(xié)議的類

class LTTech3{

? ? static?let?age=10

? ? //Self沒有特別用意 Self作為方法的返回類型

? ? func?test() ->Self{

? ? ? ? //當(dāng)前實(shí)例對象

? ? ? ? return self

? ? }

}


protocol MyProtocol {

? ? //Self代表遵循該協(xié)議的類

? ? func?get() ->Self

}

class LTTech5: MyProtocol{

? ? func get() -> Self{//當(dāng)前Self指代遵循協(xié)議的類型LTTech5

? ? ? ? return self

? ? }

}

let tech5 = LTTech5()

print(tech5.get()) //SwiftMirror.LTTech5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亭螟,一起剝皮案震驚了整個(gè)濱河市骑歹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌扁掸,老刑警劉巖翘县,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谴分,死亡現(xiàn)場離奇詭異,居然都是意外死亡牺蹄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門氓奈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鼎天,“玉大人,你說我怎么就攤上這事斋射。” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵纱兑,是天一觀的道長。 經(jīng)常有香客問我捡多,道長,這世上最難降的妖魔是什么垒手? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任科贬,我火速辦了婚禮,結(jié)果婚禮上榜掌,老公的妹妹穿的比我還像新娘。我一直安慰自己憎账,他們只是感情好卡辰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布邪意。 她就那樣靜靜地躺著雾鬼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呆贿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天做入,我揣著相機(jī)與錄音同衣,去河邊找鬼。 笑死浪秘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的耸携。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼夺衍,長吁一口氣:“原來是場噩夢啊……” “哼沟沙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起矛紫,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤牌里,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后二庵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杭隙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年痰憎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了票髓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洽沟。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜗细,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炉媒,到底是詐尸還是另有隱情,我是刑警寧澤吊骤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站传泊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏眷细。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一薪鹦、第九天 我趴在偏房一處隱蔽的房頂上張望惯豆。 院中可真熱鬧楷兽,春花似錦、人聲如沸芯杀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扶供。三九已至,卻和暖如春椿浓,著一層夾襖步出監(jiān)牢的瞬間闽晦,已是汗流浹背提岔。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荠瘪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓哀墓,卻偏偏與公主長得像坊秸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子褒搔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容