我正在尝试将表格视图转换为集合视图。我让它显示单元格正常,但是在我离开视图/返回或滚动单元格离开屏幕之前,对它们所做的任何更改都不会显示。数据来自核心数据
正在更新第一个单元格,但其他单元格没有正确更新。如果我再次更新,它们会更新,但仅限于上次更新的值。我可以看到正在调用更新函数但是没有调用配置单元来实际更新内容,只在第一个单元格上
此处的完整代码:http://pastebin.com/BDaVS6vq
nslogs的结果给出了
//查看初始加载2016-05-18 15:03:38.012 Calona [1304:315892] 3。 宠物:可选(“豌豆”) - Exp:可选(2000)2016-05-18 15:03:38.022 Calona [1304:315892] 3.宠物:可选(“Squi”) - Exp:可选(2000) 2016-05-18 15:03:38.033 Calona [1304:315892] 3.宠物:可选(“悄悄话 Light“) - Exp:可选(2000)
//首次更新后2016-05-18 15:06:12.686 Calona [1309:316804] 1。 用户宠物:可选(“豌豆”)2016-05-18 15:06:12.698 Calona [1309:316804] 2.更新2016-05-18 15:06:12.705 Calona [1309:316804] 3.宠物:可选(“豌豆”) - Exp:可选(4000)2016-05-18 15:06:12.710 Calona [1309:316804] 3.宠物:可选(“Squi”) - Exp:可选(3000) 2016-05-18 15:06:12.714 Calona [1309:316804] 3.宠物:可选(“悄悄话 Light“) - Exp:可选(3000)2016-05-18 15:06:12.725 Calona [1309:316804] 1.用户宠物:可选(“Squi”)2016-05-18 15:06:12.732 Calona [1309:316804] 2.更新2016-05-18 15:06:12.737 Calona [1309:316804] 1.用户宠物:可选(“耳语之光”)2016-05-18 15:06:12.742 Calona [1309:316804] 2.更新2016-05-18 15:06:12.895 Calona [1309:316804] 2.更新2016-05-18 15:06:12.895 Calona [1309:316804] 2.更新
第二次更新后2016-05-18 15:06:26.903 Calona [1309:316804] 1。 用户宠物:可选(“豌豆”)2016-05-18 15:06:26.918 Calona [1309:316804] 2.更新2016-05-18 15:06:26.924 Calona [1309:316804] 3.宠物:可选(“豌豆”) - Exp:可选(5000)2016-05-18 15:06:26.931 Calona [1309:316804] 3.宠物:可选(“Squi”) - Exp:可选(4000) 2016-05-18 15:06:26.936 Calona [1309:316804] 3.宠物:可选(“悄悄话 Light“) - Exp:可选(4000)2016-05-18 15:06:26.945 Calona [1309:316804] 1.用户宠物:可选(“Squi”)2016-05-18 15:06:26.952 Calona [1309:316804] 2.更新2016-05-18 15:06:26.958 Calona [1309:316804] 1.用户宠物:可选(“耳语之光”)2016-05-18 15:06:26.962 Calona [1309:316804] 2.更新2016-05-18 15:06:27.045 Calona [1309:316804] 2.更新2016-05-18 15:06:27.047 Calona [1309:316804] 2.更新2016-05-18 15:06:27.048 Calona [1309:316804] 2.更新
答案 0 :(得分:0)
viewDidLoad
的{{1}}中可能缺少这些行:
ViewController
并尝试使用:
self.collectionView.dataSource = self;
self.collectionView.delegate = self;
我还定义了:
func controllerDidChangeContent(controller: NSFetchedResultsController) {
self.collectionView.performBatchUpdates({ () -> Void in
self?.blockOperation.start();
}, completion: { (success) -> Void in
...
})
}
答案 1 :(得分:0)