Установить NSIndexPath программно - PullRequest
13 голосов
/ 22 марта 2012

У меня вопрос: Как программно установить NSIndexPath.

Например, я добавляю метод:

- (void)setDefaultValue{
 tempIndexPath = [NSIndexPath indexPathForRow:0 inSection:1];
}

В делегате tableView -cellForRowAtIndexPath Я хочу сравнить дваindexPath

if ([indexPath isEqual: tempIndexPath]) ...

Но в этом случае мой tempIndexPath = null (я думаю - потому что это объект autorelease)

Как установить NSIndexPath в этом случае?

Спасибо, всем!

Ответы [ 3 ]

21 голосов
/ 22 марта 2012

Добавить сохранить

- (void)setDefaultValue{
   tempIndexPath = [[NSIndexPath indexPathForRow:0 inSection:1] retain];
}

Но вы должны знать о выпуске temIndexPath в будущем.

РЕДАКТИРОВАТЬ: я удалил плохой вариант.

2 голосов
/ 22 марта 2012

Просто позвоните retain после того, как вы его создадите:

[tempIndexPath retain];

Это сделает вас владельцем объекта, поэтому не забывайте release когда закончите.

1 голос
/ 22 марта 2012

Вы должны выделить его и впоследствии освободить, определяя, как вы это делали, возвращая объект с автоматическим освобождением.

...