我有一个带有6个相同单元格的UITableView。在单元格中是UITextFields,用户可以在其中键入自己喜欢的电视节目。我已经找到了一种方法来记录下面列出的代码这些值,但我有一个主要问题,即如果用户在其中一个字段中输入值,完成编辑,但然后点击该字段并更改值。我想只为每个单元格记录一个值。使用当前方式保存值,如果用户输入值,完成编辑该文本字段然后更改信息,它将记录这两个值,而不仅仅是最后一个值。
以下是一个示例:用户输入他们的第一个收藏夹Elementary,然后继续填写接下来的五个单元格。然后他们决定返回并将他们在第一个单元格中的第一个选择更改为True Detective。当用户单击完成时,它应该保存True Detective,然后保存其余值。按照我目前设置的方式,它将保存Elementary,True Detective以及其余的值。我该如何解决这个问题。
我目前使用的代码:
- (void) textFieldDidEndEditing:(UITextField *)textField {
NSString *nameString = [[NSString alloc] init];
nameString = textField.text;
[self.favoriteShows addObject:nameString];
}
答案 0 :(得分:1)
不是在textFieldDidEndEditing
方法中添加字符串,而是在完成按钮的点击方法中添加字符串。
您可以在完成按钮的方法中尝试以下步骤:
遍历tableViewCell
s,按cellForRowAtIndexPath
获取单元格。
要获取textField
的引用,请使用[cell viewWithTag:yourtag];
。
然后按[self.favoriteShows addObject:textField.text];
这样,只会记录最终值,这些值在用户按下完成按钮时出现在textField
s中。希望这会有所帮助。
答案 1 :(得分:0)
nameString = [textField.text copy];