Object-C 作為面向?qū)ο笠环N語言宾巍。具備內(nèi)省這樣一個強(qiáng)大的特性。內(nèi)省是對對象揭示自己作為一個運(yùn)行時(shí)對象的信息的一種能力。這些信息包括對象在繼承樹上的位置框冀,對象是否遵循特定的協(xié)議,以及是否可以響應(yīng)特定的消息敏簿。NSobject協(xié)議和類定義了很多內(nèi)省方法明也,用于查詢運(yùn)行時(shí)信息宣虾,以便根據(jù)對象的特征進(jìn)行識別。 ?
OC運(yùn)行時(shí)內(nèi)省的4個方法:
判斷對象類型:
-(BOOL) isKindOfClass: 判斷是否是這個類或者這個類的子類的實(shí)例
-(BOOL) isMemberOfClass: 判斷是否是這個類的實(shí)例
判斷對象or類是否有這個方法
-(BOOL) respondsToSelector: 判讀實(shí)例是否有這樣方法
+(BOOL) instancesRespondToSelector: 判斷類是否有這個方法
- (BOOL)conformsToProtocol:(Protocol?*)aProtocol;??檢查對象是否符合協(xié)議温数,是否實(shí)現(xiàn)了協(xié)議中所有的必選方法绣硝。