Вы должны, если у вас нет явных, веских причин не делать этого.В Objective-C любой объект может быть присвоен id
.Но id
не гарантирует никаких методов, даже стандартных операций, таких как выделение, инициализация, освобождение и подсчет ссылок.
Они реализованы корневым классом, который почти всегда равен NSObject
.
Кроме того, большая часть API-интерфейса Cocoa рассчитана на NSObject
, поскольку для него требуется не менее retain
и release
объекта.
Таким образом, вы должны наследовать от NSObject
.