Подкласс NSObject, это может вызвать проблемы? - PullRequest
3 голосов
/ 25 марта 2010

У меня есть очень простой класс данных, который подкласс от NSObject. Я объявляю несколько строк, проверяю их свойства (неатомные, копирую) и синтезирую их. Единственный метод, который я реализовал, был dealloc (), который освобождает мои строки. Могут ли проблемы с памятью возникнуть именно из-за этого? Есть ли какие-либо другие методы, которые мне нужно реализовать?

Ответы [ 4 ]

9 голосов
/ 25 марта 2010

Создание подклассов NSObject - это то, что мы делаем постоянно. Просто следуйте правилам управления памятью, и все готово.

4 голосов
/ 25 марта 2010

Вы можете реализовать пользовательскую инициализацию, если хотите что-то настроить.

-(id)init {
    if (!(self = [super init]))
          return nil;

    // Set things up you might need setting up.
    return self;
}

Но это только в том случае, если вы хотите что-то подготовить, прежде чем вызывать что-то еще в классе.

В противном случае хорошо иметь метод dealloc.

2 голосов
/ 25 марта 2010

Проблем не будет. Подклассы NSObject отлично принимаются, и в 99% случаев требуется.

Подклассом NSObject ваш подкласс получает все необходимое поведение, которое ожидается от любого объекта в Cocoa / Cocoa Touch. Это включает в себя такие вещи, как система управления памятью с подсчетом ссылок с использованием retain и release и т. Д.

1 голос
/ 25 марта 2010

То, что вы делаете, прекрасно. Обязательно вызовите [super dealloc] в конце метода вашего подкласса -dealloc.

...