UITableView titleForHeaderInSection печатает заголовки на консоли дважды, а затем вылетает - PullRequest
0 голосов
/ 31 марта 2010

В методе, приведенном ниже titleForHeaderInSection, по какой-то причине NSLog дважды печатает заголовки, а затем приложение вылетает в objc_msgSend. Я не могу понять, почему это может вызвать сбой приложения?

Из исследований может показаться, что сбои в objc_msgSend вызваны отправкой сообщений уже освобожденным объектам, но так ли это здесь?

Мой массив sectionNames заполняется в viewDidLoad.

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {   

    NSString *title = nil;
    title=[sectionNames objectAtIndex:section];
    NSLog(title);
    return title;
}

Спасибо

1 Ответ

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

Как вы заполняете свой массив sectionNames? Возможно, что массив, а не строка, освобождается преждевременно.

UPDATE:

Ваша проблема в том, что +arrayWithArray: создает автоматически выпущенный массив, который освобождается после завершения текущего цикла выполнения. Вам нужно либо сохранить sectionNames, либо использовать -initWithArray:

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