我有一个使用NSCloudKitPersistentContainer的应用程序,并且集合视图中某些ui元素的状态根据是否保存数据而改变。
是否有可能让应用程序等待容器初始化,以便可以在向用户显示收集视图之前提取数据?
我试图用完成处理程序编写获取函数,并在viewDidLoad
中调用它,以使在我拥有数据之前不会向用户显示视图控制器,如下所示:
获取功能:
func fetchFavouriteRecipes(completionHandler: @escaping () -> Void) {
do {
savedFavourites = try backgroundContext.fetch(Recipe.fetchRequest())
favouritesList = savedFavourites
} catch let error {
print("Fetching data was unsuccessful: \(error)")
}
completionHandler()
}
致电:
override func viewDidLoad() {
super.viewDidLoad()
// ...
viewModel.fetchFavouriteRecipes() {
self.collectionView.reloadData()
}
}
但是当我检查断点但没有检索到任何东西时。