【发布时间】:2011-01-28 15:07:30
【问题描述】:
我是 Cocoa 和 Core Data 的新手,遇到了一个奇怪的问题。我成功地创建了核心数据模型,导入了数据,制作了 UI(导航控制器、带有 searcDdisplayController 的 tableViewController),但现在我遇到了一个问题。如果我实现 UITableViewController(在 nib 文件中没有 UITableView),从 fetchedResultsController 获取的结果很奇怪- 行数是正确的(500 行),但它们在重复自己 - 只有 8 个不同的行。
但是,我可以通过添加 @synthesize tableView 来解决此问题;在 .m 文件中。
然后我遇到了另一个问题 - 当我单击一行并推送详细信息视图,然后单击导航控制器上的后退按钮时,tableView 中的选定行仍然被选中。
我希望我清楚出了什么问题。让我回顾一下:
如果我不放@synthesize tableView;在实现文件的顶部,该行的取消选择工作正常,但结果错误 - 8 行(共 500 行)在 tableView 中重复。
如果我把@synthesize放在文件中,tableView中的数据是正确的,但是当我用导航控制器回到tableView时没有动画。
我也尝试在 listviewcontroller 的 nib 文件中放置一个 UITableView,但结果是一样的 - 没有取消选择该行。我还尝试取消选择 viewWillAppear 委托中的行,但 indexPath of the indexPathForSelectedRow 是 null。
哦,我正在使用 NSFetchedResultsController。就像我说的 - 获取的结果是正确的,但似乎它们没有正确地馈送到 tableview (如果它没有合成的话..)
谢谢!
【问题讨论】:
标签: iphone uitableview core-data uisearchdisplaycontroller