2012-05-01 61 views
0

我正在更新從包含兩個字符串和一個整數的實體TableViewController。字符串正常工作的整數不。這是我的代碼;fetchedResultsController和Integer

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

    if (!cell) { 
     cell = [[GolfersCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
    } 

    Users *users = [_fetchedResultsController objectAtIndexPath:indexPath]; 

    cell.firstName.text = users.firstName; 
    cell.lastName.text = users.lastName; 
     int i = [users.gendID intValue] ; 
    cell.genID.text = [NSString stringWithFormat:@"%d", i]; 

    [self configureCell:cell atIndexPath:indexPath]; 

    return cell; 
} 

現在這個工作,註釋掉行「int i = [users.gendID intValue];」將它留在程序中並逐步執行,這是它返回的錯誤;

2012-04-30 16:49:02.369 My App [9757:fb03] -[Users gendID]: unrecognized selector sent to instance 0x6b8a6c0 
2012-04-30 16:49:02.373 My App[9757:fb03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Users gendID]: unrecognized selector sent to instance 0x6b8a6c0' 
*** First throw call stack: 
(0x16b0022 0x1841cd6 0x16b1cbd 0x1616ed0 0x1616cb2 0x3a6d 0xb5c54 0xb63ce 0xa1cbd 0xb06f1 0x59d21 0x16b1e42 0x2068679 0x2072579 0x1ff74f7 0x1ff93f6 0x1ff8ad0 0x168499e 0x161b640 0x15e74c6 0x15e6d84 0x15e6c9b 0x15997d8 0x159988a 0x1b626 0x28bd 0x2825) 
terminate called throwing an exception(lldb) 

回答

0

它看起來像我的錯字。在你的代碼中,當你的單元格的屬性是genID時,用戶屬性名稱是gendID。 「發送給實例的無法識別的選擇器」表示沒有爲該類定義此類方法。驗證您的Users類確實包含名爲「gendID」的方法/屬性。

1

除了Lighforce的建議,你不應該在兩個地方加載單元格內容。設置好名字,姓氏和genID後,您的代碼將調用索引路徑下的配置單元。問題可能在於該方法。將您的設置代碼放在一個地方或另一個地方,但不要在兩種方法之間進行拼寫。

相關問題