我的UITableView與customcell其中的UITextField的地方,我指定了以下行動來我UITeextfield將數據記錄到的NSMutableArray的UITableView用的UITextField到NSMutableArray的CRASH上記錄更新點擊
[textFieldCell.textfield addTarget:self action:@selector(textChanged:) forControlEvents:UIControlEventEditingChanged];
和功能
- (void)textChanged:(UITextField *)source
{
NSString *str= source.text;
NSUInteger itager = (([self.tableView indexPathForCell:(TextFieldCell *)[[source superview] superview]].row)-1);
[collectedAnswersArray replaceObjectAtIndex:itager withObject:str];
NSLog(@"replacing at %i = %@",itager,[collectedAnswersArray objectAtIndex:itager]);
}
在表的最後我有最後一個單元格作爲插入記錄一旦它被點擊我正在從可變數組中記錄數據到數據庫。
我面對的應用程序崩潰的問題,如果我的焦點仍然在文本字段和一些奇怪的原因,它通過例外回到這一行: [collectAnswersArray replaceObjectAtIndex:itager withObject:str]; 說489045358493超出範圍。但它不是關於範圍。 如果我解僱鍵盤,一切都很好。
Jow從文本字段中鬆開焦點,這些字段在我的文本字段中不再可見。因爲我有一種感覺,它保留了對該文本字段的一些引用,或者這是引起它的原因。
我發現這個問題,只是我沒有足夠注意itager變量...... – 2011-03-13 23:54:31