我有一个 UITableViewController 子类,当我尝试从 viewDidLoad 获取一些实体时,我得到一个空数组。但是当我在 viewDidAppear 中使用相同的代码时,我得到了这些实体!怎么样?
问问题
195 次
1 回答
0
你在用NSFetchedResultsController
吗?这是使用 Core Data 填充表视图的推荐(也是最简单的)方法。您不必关心获取时间,因为结果控制器会为您管理。
如果没有 FRC,您将负责填充表格。根据您的设置,即您如何创建视图控制器,所有必要的部分(包括托管对象上下文,或数据数组,或您的表格视图本身)可能在运行时尚未完全加载viewDidLoad
。通常,viewDidLoad
最好用于从 nib 或情节提要加载的视图控制器。您在或某些此类方法中提供必要的属性prepareForSegue:
,它们将可用于viewDidLoad:
.
不过,您应该选择 FRC。它将通过数据源方法或多或少地懒惰地进行获取。这也是性能和内存管理的最佳选择。
于 2013-01-26T11:23:45.573 回答