2015-06-19 4 views
0

Я получаю эту ошибку при работе над моей Xcode проектаСвойство не найдено на объект типа 'UITableViewCell *

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

    if (cell == nil) 
    { 
    cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle 
           reuseIdentifier:@"cell" ]; 
    } 


    NSString *sysDeliveryType=[[jsonData objectAtIndex:indexPath.row]valueForKey:@"sysord_DeliveryType"]; 
    NSString *sysExpDeliveryTime=[[jsonData objectAtIndex:indexPath.row]valueForKey:@"sysord_ExpectedDeliveryTime"]; 
    NSString *sysOrderDateTime=[[jsonData objectAtIndex:indexPath.row]valueForKey:@"sysord_OrderDateTime"]; 
    NSLog(@"%@",sysDeliveryType); 
    cell.lblDeliveryPickUP.text=sysDeliveryType; 
    cell.lblexpDeliveryTime.text=sysExpDeliveryTime; 
    cell.lblsysOrderPlacedTime.text=sysOrderDateTime; 
    return cell; 
} 

Также outlate даны правильно, но это ошибка собственности не нашли отображения в моем коде

ответ

1

Вам необходимо наложить cell на номер DateTimeCell.

Например: [[(DateTimeCell *)cell lblDeliveryPickUP] setText:sysDeliveryType];

Лейблы вы пытаетесь установить там не свойства UITableViewCell.

+1

Или вы можете использовать 'performSelector' или KVC' SetValue: forKey: ' –

+0

Ваш код может быть' ((DateTimeCell *) клеток) .lblDeliveryPickUP.text = sysDeliveryType'. На самом деле, мне это нравится еще –

+1

Он должен действительно объявлять 'cell' как' DateTimeCell', а не 'UITableViewCell' – dan

-1

Объявите ячейку желаемым типом и поставьте правильный идентификатор методу dequeue.

DateTimeCell1 * cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];

+0

Может ли это помочь найти свойство ячейки? Или просто для улучшения? – antonio

+0

Объект не найден - ошибка времени компиляции, поэтому метод dequeue никак не связан с этим. Ваш совет был бы полезен только в случае исключения «непризнанного селектора» времени выполнения. –

+0

Код OP объявляет CellIdentifier для DateTimeCell1, но не использует его. Я думаю, именно поэтому он не получает свойства. Не упоминается время компиляции и ошибка времени выполнения. Если он хочет DateTimeCell1, он должен создать его, а затем посмотреть, работает ли он. – Rayfleck

Смежные вопросы