使用#import而不使用@class潛藏的問(wèn)題:
1糠排、建立復(fù)合關(guān)系的時(shí)候辛慰,你只希望需要成員變量對(duì)象的類型,不需要它的類的其他部分负蠕,這存在代碼的安全性問(wèn)題蛙埂。
2、使用#import的頭文件沖過(guò)發(fā)生了改變遮糖,引用它的頭文件都需要被重新編譯绣的,這導(dǎo)致效率低下。
3、在2個(gè)類互相引用的時(shí)候屡江,#import會(huì)引起編譯錯(cuò)誤芭概,而@class則不會(huì)。
啥時(shí)候應(yīng)該用#import惩嘉?
一個(gè)頭文件里面包含了許多個(gè)類聲明谈山,并且引用這個(gè)頭文件的時(shí)候。
使用@class有啥講究宏怔?
1奏路、頭文件名與類名一樣。
2臊诊、頭文件只有該類別無(wú)其他鸽粉。
3、如果需要使用該類的實(shí)例變量和方法抓艳,需要在.m中#import ClassName触机。
protocol在工程中的作用是啥?
解耦玷或,另外儡首,協(xié)議最好單獨(dú)放在一個(gè)頭文件中,以免引用不必要的其他內(nèi)容進(jìn)來(lái)偏友。
@class有啥用蔬胯?
就是告訴其他類有這么一個(gè)類型,你就放心用吧位他。