如果文本为空,UITableViewCell detailTextLabel不尊重KVO?苹果虫?

时间:2012-06-16 21:09:51

标签: ios uitableview uitextfield key-value-observing iboutlet

我遇到了一个奇怪的行为,表格视图单元配置了正确的细节。单元格是静态单元格,是故事板中创建的表格视图控制器的一部分。在我的视图控制器中,我创建了一个连接到单元格细节的IBOutlet UITextField *detail。到现在为止还挺好。视图的配置使得当单元的附件被命中时,另一个控制器被推入堆栈,以便用户可以输入要显示的文本。返回时,detail.text设置为用户的字符串。我依靠IBOutlet与故事板中的细节之间的KVO进行自动更新。

问题是,如果detail.text在进入视图时设置为@“”(空字符串,而不是nil),则无论多少次,单元格的详细信息都将 NOT 更新用户更改文本。我可以通过调试器看到细节反映了用户的更改,但单元格没有。奇怪的是,如果我离开视图并重新输入以便将detail.text初始化为某些非空字符串,那么一切都很好。如果detail.text的初始值不是空字符串,则不会发生此问题。用户可以随意更改文本,并在返回时单元格反映更改。

Apple bug,还是我错过了什么?

此致

- 约翰

2 个答案:

答案 0 :(得分:0)

只需重新绘制单元格时重新加载。

[tableView reloadData];

答案 1 :(得分:0)

我发现将文本设置为@“”(带空格)而不是@“”可以解决问题。下次使用非空字符串更新标签时,它将按预期更新。