2010-07-05 55 views
0

我有一個UITextField和Tableview的基本視圖。我能夠向TextView輸入文本並通過IBOutlet和IBAction捕獲值。在TableView行中沒有輸入值

我的IBAction是setMyNote,我在其中調用cellForRow ...方法。

在我cellForRow ..方法我有這樣的代碼片段

static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
} 

NSString *enNote = [[NSString alloc] initWithString:enteredNote.text]; 

NSInteger nRow = [indexPath row]; 
switch (nRow) { 
    case 1: 
     cell.textLabel.text = enNote; 
     break; 
    default: 
     break; 
} 
[enNote release]; 
return cell; 

}

當我運行我的調試器,我可以看到,enNote有我在的TextView進入了新的文本,似乎也要分配給我的cell.textLabel.text - 但我的表不顯示這個新的文本。我錯過了什麼?

回答

1

您不應該直接調用cellForRow。

當表視圖呈現自己時,它會調用cellForRow方法以創建應該可見的單元格。

我認爲你應該更新你的表格視圖數據源,而不是直接更新單元格,然後重新加載表格視圖([tableView reloadData];)。

+0

謝謝!那擺脫了我得到並且無法理解的警告。現在我有我的[rootTableView reloadData];但我在哪裏設置NSIndexPath呢?因爲我得到一個EXC_BAD_ACCESS錯誤 在我的代碼中,rootTableView是主UIViewController中的一個IBOutlet。 – John 2010-07-05 21:54:21

+0

我看到您還沒有閱讀任何有關使用表格視圖的文檔/教程。網上有很多教程。有Apple的示例項目向您展示如何使用表視圖。沒有理由在知道基本知識之前來到這裏(stackoverflow)... – 2010-07-06 09:47:54