Как всегда в объектно-ориентированном дизайне, попытка использовать идентичность класса экземпляра является запахом кода и должна поднимать флаг. Что именно вы пытаетесь сделать со своей пользовательской ячейкой? Возможно, кто-то может предложить лучший подход.
Не важно, что дизайн гораздо лучше зависеть от интерфейса (a @protocol
в Objective-C), чем от класса, поскольку он помогает отделить ваш дизайн. Определите @protocol
с соответствующим API, который вам нужен, и пусть ваш CustomCell
реализует этот протокол. Затем в своем коде вы можете проверить:
if([cell conformsToProtocol:@protocol(MyCellProtocol)]) {
//...
}
, а не тестирование на идентичность класса.
Если вам нужен только один метод, вы можете использовать [cell respondsToSelector:@selector(myMethod)]
.