iOS- isMemberOfClass isKindOfClass和 isSubclassOfClass

isMemberOfClass : 表示調用該方法的類 是否是 參數類,只有當類型完全匹配的時候才會返回YES。
isKindOfClass :表示調用該方法的類 是否是 參數類 或者 繼承于參數類
isSubclassOfClass :表示調用該方法的類 是不是 參數類的一個子類 或者 是這個類的本身

isSubclassOfClass和isKindOfClass的作用基本上是一致的,只不過一個是類方法,一個是對象方法。

-(BOOL) isKindOfClass: classObj判斷是否是這個類或者這個類的子類的實例

-(BOOL) isMemberOfClass: classObj 判斷是否是這個類的實例

//1.首先申明 四個類 A>B>C>D ,繼承關系 A繼承B,B繼承C,C繼承D。即D是最頂層的父類,A是最基層的子類。
A *a = [[A alloc]init];

2.isKindOfClass(對象方法)

[a  isKindOfClass [A Class]]  //return YES
[a  isKindOfClass [B Class]]  //return YES
[a  isKindOfClass [C Class]]  //return YES
[a  isKindOfClass [D Class]]  //return YES

3.isMemberOfClass(對象方法)
[a  isMemberOfClass [A Class]]  //return YES
[a  isMemberOfClass [B Class]]  //return NO
[a  isMemberOfClass [C Class]]  //return NO
[a  isMemberOfClass [D Class]]  //return NO

4.isSubclassOfClass(類方法)
[A  isSubclassOfClass [A Class]]  //return YES
[A  isSubclassOfClass [B Class]]  //return YES
[A  isSubclassOfClass [C Class]]  //return YES
[A  isSubclassOfClass [D Class]]  //return YES

5.總結
綜上看來,isSubclassOfClass和isKindOfClass的作用基本上是一致的,只不過一個是類方法,一個是對象方法。
isMemberOfClass 篩選條件更為苛刻,只有當類型完全匹配的時候才會返回YES。

//鏈接:http://www.itdecent.cn/p/3a2b9dc1ac44

參考:
http://www.itdecent.cn/p/3a2b9dc1ac44
https://blog.csdn.net/runintolove/article/details/48971275
http://www.itdecent.cn/p/47f53e9e3a64
https://www.linuxidc.com/Linux/2012-07/64453.htm

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 轉至元數據結尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 2,069評論 0 9
  • OC語言基礎 1.類與對象 類方法 OC的類方法只有2種:靜態(tài)方法和實例方法兩種 在OC中,只要方法聲明在@int...
    奇異果好補閱讀 4,522評論 0 11
  • 1.ios高性能編程 (1).內層 最小的內層平均值和峰值(2).耗電量 高效的算法和數據結構(3).初始化時...
    歐辰_OSR閱讀 30,262評論 8 265
  • 參考鏈接: http://www.cnblogs.com/ioshe/p/5489086.html 簡介 Runt...
    樂樂的簡書閱讀 2,249評論 0 9
  • 你們想要方便,這個我們有! 作為一個消費者,你是不是非常想要一款可以掃一個二維碼就能支付N種不同平臺的APP?“在...
    EmmaKaulitz閱讀 233評論 0 0

友情鏈接更多精彩內容