У меня есть три класса: ClassA, ClassB и ClassC.NSObject + (BOOL) isSubclassOfClass: метод возвращает неверный результат
ClassC наследует ClassB, который наследует ClassA.
Я пытаюсь написать модульный тест, чтобы убедиться, что ClassC наследует от ClassB:
XCTAssertTrue([ClassC isSubclassOfClass:[ClassB class]]);
это возвращает ложь.
XCTAssertTrue([ClassC isSubclassOfClass:[ClassA class]]);
возвращает true.
[ClassC class] superclass]
возврат ClassB.
Обратите внимание, что при тестировании [ClassC isSubclassOfClass:[ClassB class]]
в консоли он возвращает true, даже когда я проверяю это непосредственно перед тем, как код в моем модульном тесте возвращает false для того же теста!
Может ли кто-нибудь объяснить, как это может произойти?
Я попробовал предложение Брайана из комментариев. Вход из моего модульного тестирования я получаю:
0x102a8c4e0 0x110d21820
Logging из консоли я получаю:
0x102a8c4e0 0x102a8c4e0
Вы прочитали эту тему? http://stackoverflow.com/questions/19883472/objc-nsobject-issubclassofclass-gives-incorrect-failure – Priyatham51
Это похоже на ту же проблему, но у меня нет никаких моих классов в статических библиотеках. – Darren
'NSLog (@"% p% p ", [Класс суперкласса ClassC], [ClassB class])' посмотреть, отличаются ли они –