我有三個類:ClassA,ClassB和ClassC。NSObject +(BOOL)isSubclassOfClass:返回錯誤結果的方法
ClassC繼承自繼承自ClassA的ClassB。
我試圖寫一個單元測試,以驗證ClassC從ClassB的繼承:
XCTAssertTrue([ClassC isSubclassOfClass:[ClassB class]]);
這個返回false。
XCTAssertTrue([ClassC isSubclassOfClass:[ClassA class]]);
返回true。
[ClassC class] superclass]
返回ClassB。
請注意,當我在控制檯中測試[ClassC isSubclassOfClass:[ClassB class]]
時,它會返回true,即使我在我的單元測試中的代碼立即對相同測試返回false之前進行測試!
任何人都可以解釋這是怎麼發生的?
我嘗試了Bryan的意見。從我的單元測試記錄,我得到:從控制檯
0x102a8c4e0 0x110d21820
記錄我得到:
0x102a8c4e0 0x102a8c4e0
您是否已通讀此主題? http://stackoverflow.com/questions/19883472/objc-nsobject-issubclassofclass-gives-incorrect-failure – Priyatham51 2014-11-04 22:51:55
這看起來像是同樣的問題,但我沒有在靜態庫中的任何類。 – Darren 2014-11-04 23:04:47
'NSLog(@「%p%p」,[ClassC superclass],[ClassB class])'看看他們是不是不同 – 2014-11-04 23:11:54