Нужно ли подкласс от NSObject? - PullRequest
1 голос
/ 25 июля 2010

Я запускаю Objective-C Development и пытаюсь обдумать, как работают некоторые вещи.

Я создаю Twitter-клиент и у меня есть класс "Tweet".Это просто DTO - класс с некоторыми переменными.

Должен ли это быть просто класс или он должен наследоваться от NSObject?

Почему?Или почему нет?

Ответы [ 2 ]

4 голосов
/ 25 июля 2010

Каждый нормальный класс должен быть подклассом от NSObject.Базовое управление памятью, например -retain и -release, и самоанализ во время выполнения, например -isKindOfClass:, -respondsToSelector:, не могут работать без него.

1 голос
/ 25 июля 2010

Вы должны, если у вас нет явных, веских причин не делать этого.В Objective-C любой объект может быть присвоен id.Но id не гарантирует никаких методов, даже стандартных операций, таких как выделение, инициализация, освобождение и подсчет ссылок.

Они реализованы корневым классом, который почти всегда равен NSObject.

Кроме того, большая часть API-интерфейса Cocoa рассчитана на NSObject, поскольку для него требуется не менее retain и release объекта.

Таким образом, вы должны наследовать от NSObject.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...