Приложение падает на initWithStyle - PullRequest
1 голос
/ 02 марта 2012

Я не могу понять, почему мое приложение падает. Вот код:

-(void)viewDidLoad
{
    [super viewDidLoad];

    self.tableContent = [NSArray arrayWithObjects:@"Blue", @"Yellow", @"Green", nil];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return  [self.tableContent count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *identifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
    }

    return [self.tableContent objectAtIndex:indexPath.row];

}

Вот ошибка, которую я получил

-[NSCFString setTableViewStyle:]: unrecognized selector sent to instance 0x4938

Ответы [ 3 ]

5 голосов
/ 02 марта 2012

Вот ошибка в вашем cellForRowAtIndexPath:

return [self.tableContent objectAtIndex:indexPath.row];

tableContent - это массив NSString с, поэтому вы возвращаете NSString вместо объекта типа UITableViewCell.Поэтому вместо этого напишите:

return cell;

Именно NSString, который вы вернули вместо UITableViewCell, вызывает ошибку ... Если вы хотите увидеть отправляемый текст, выВам нужно будет установить текст текстовой метки:

cell.textlabel.text = [self.tableContent objectAtIndex:indexPath.row];
//set the text and then return the cell
return cell;
2 голосов
/ 02 марта 2012

Прежде всего, вы не выделяете self.tableContent, что может привести к ошибке доступа к памяти. Если вы собираетесь использовать self.tableContent на протяжении всего вашего класса, вы должны сделать:

self.tableContent = [[NSArray alloc] initWithObjects:@"Blue", @"Yellow", @"Green", nil];

С другой стороны, вы возвращаете NSString вместо ячейки здесь:

return [self.tableContent objectAtIndex:indexPath.row];

Вы должны сделать:

return cell;
1 голос
/ 02 марта 2012

Вы должны использовать наконец

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