UITableViewCell получить ноль - PullRequest
       1

UITableViewCell получить ноль

0 голосов
/ 25 марта 2012

Я создаю UITableView с пользовательским UITableViewCell, вот как я создаю ячейку в cellForRowAtIndexPath:

static NSString *CellIdentifier = @"SongsCell";
    SongsCell *cell = (SongsCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil){
        UIViewController *vc = [[[UIViewController alloc] initWithNibName:@"SongsCell" bundle:nil] autorelease];
        cell = (SongsCell *) vc.view;
    }

Теперь я хочу получить все ячейки в информации таблицы (параметр из ячейки), когданажата кнопка:

for (int i = 0; i < [songTable numberOfRowsInSection:0]; i++)
{

    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
    UITableViewCell *cell = [songTable cellForRowAtIndexPath:indexPath];
}

Теперь у меня проблема в том, что этот цикл дает мне cell ноль для всех ячеек, которые в данный момент не видны в таблице.

1 Ответ

0 голосов
/ 25 марта 2012

В цикле вы используете метод cellForRowAtIndexPath: класса UITableView.Этот метод возвращает nil, если ячейка не видна, как сказано в документации:

Возвращаемое значение
Объект, представляющий ячейку таблицы, или nil, если ячейка не видна или indexPath находится вне диапазона.

Метод, который, как вы думали, вы использовали, это метод делегата tableView:cellForRowAtIndexPath: протокола UITableViewDataSource.

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