UITableViewCell не доступен стандартным методом? - PullRequest
1 голос
/ 11 мая 2011

Я работаю над проектом, в котором есть контроллер, Controller, который содержит всю логику (то есть UITableViewDelegate).У меня есть представление, View1, которое является подклассом UIView, содержащим UITableView в качестве свойства.

Моя проблема заключается в том, что я хочу обновить первую строку (которая является своего рода заголовком-грести) когда что-то случится.Я думал, что смогу сделать этот звонок:

UITableViewCell* headCell = 
    (UITableViewCell*) [view1.tableView 
        cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

, но это, похоже, не работает.мой headCell равен (null), когда я NSLog(@"%@", [headCell description]);

Мой контроллер вызывает [view1.tableView setDelegate:self], поэтому я также пытался вызвать [self cellForRow..], но я только что получил нераспознанный селектор.NSIndexPath должно быть правильным, верно?

Я пытался прочитать об этом, но все, кажется, заставляют работать cellForRowAtIndexPath, но я не могу.У кого-нибудь есть идеи?

edit: Вместо этого я сделал обходной путь, поэтому не могу принять какие-либо ответы, не проверив их.Спасибо хоть.Обходной путь должен был создать ячейку, на которую ссылается метод cellForRowAtIndexPath:, и настроить ее вручную где-нибудь еще.Я знаю, что это не лучшая практика, но сейчас у меня нет времени делать иначе.Спасибо за вклад, хотя я проверю позже, чтобы проверить их и принять в качестве ответов, если я смогу заставить его работать:)

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

Используйте NSNotification

См. Документ Apple для NSNotification

он будет добавлен вашей строкой заголовка и опубликован в любом месте приложения с необходимыми данными.

1 голос
/ 11 мая 2011

cellForRowAtIndexPath метод возвращает ячейку, если эта ячейка в данный момент видна, иначе он вернет nil

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