Устранение неполадок UITableViewCell (2 предупреждения) - PullRequest
0 голосов
/ 10 мая 2011

Следуя документации по пользовательским ячейкам из NIB (опция Dynamic), у меня есть этот метод.(Само представление не является UITableViewController, но оно правильно подключено.)

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"ReusableCell";

    UITableViewCell *cell = (LoadGameCell *)
                  [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[NSBundle mainBundle]
                    loadNibNamed:@"LoadGameCell" owner:self options:nil];
        cell = loadGameCell;
        self.loadGameCell = nil;
    }

    /*
     cell setup
     */

    return cell;
}

Первая строка в выражении if - это бит, с которым у меня возникают проблемы.

Incompatible pointer types assigning to 'UITableViewCell *' from 'NSArray *'

Incompatible Objective-C types assigning 'struct NSArray *',
                                expected 'struct UITableViewCell *'

Нет ошибок / сбоев при запуске приложения с этими предупреждениями, но я бы не стал их игнорировать / подавлять.Позже это повредит намного больше.

Если это не является прямым результатом вышеупомянутых предупреждений, есть другая проблема.Я не могу получить метод для просмотра, только ярлыки.(То есть я могу настроить ярлык, но не вид изображения, рядом с которым он сидит.)

1 Ответ

0 голосов
/ 10 мая 2011

Как скажет документация, loadNibNamed:owner:options: возвращает массив.Чтобы получить доступ к ячейке в NIB (при условии, что это единственный объект корневого уровня в NIB), вызовите objectAtIndex:0 для результата loadNibNamed:owner:options.

...