【发布时间】:2014-12-17 18:57:06
【问题描述】:
我有一个 UITableViewCell 的子类,它在父 ViewController viewDidLoad 事件上加载一个 nib - 表视图所在的位置。 这个 UITableViewCell 里面有一个 UITextView。 这个想法是用户在这个 textView 中输入文本,当按下按钮时,它将在 NSUserDefaults 中保存这个文本(调查问卷的答案)。
我的问题是我无法从 textviews 中读取文本。当用户输入文本并且表格视图上下滚动时,我可以看到文本被保留,因此它必须存储在内存中的某个地方,这发生在 cellForRowAtIndexPath 中。 为了收集文本,我调用了相同的方法,但返回的单元格为 nil。因此,滚动时似乎会保留文本,但如果以编程方式调用该方法,则不会返回单元格。 我不知道如何跟踪这个文本,我也尝试过 didEndDisplayingCell 方法,但有时它不会被调用,所以它不可靠。
笔尖注册:
UINib *nib = [UINib nibWithNibName:@"QuestionCell" bundle:nil];
[[self tableViewOutlet] registerNib:nib forCellReuseIdentifier:cellIdentifier];
cellForRowAtIndexPath:
QuestionCell *cell = [tableViewOutlet dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell.indexPath){
cell.indexPath = indexPath;//Setup cell ...
尝试获取单元格内 textView 中的文本(如果不可见则返回 nil):
QuestionCell *cell = (QuestionCell *)[tableViewOutlet cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
【问题讨论】:
标签: ios objective-c uitableview ios8 uitextview