我试图从我的委托方法“applicationDidEnterForeground”重新加载我的collectionView但我得到一个错误“”UICollectionView必须用非零布局参数初始化“
在我 CollectionViewController 我有这个方法
-(void)reloadThisData
{
[self.collectionView reloadData];
}
这是我在 appDelegate 的代码
- (void)applicationWillEnterForeground:(UIApplication *)application {
CollectionViewController *collectionViews = [[CollectionViewController alloc]init];
[collectionViews reloadThisData];
}
我知道它只会创建另一个collectionView,这就是为什么它只返回一个空值 . 还有其他方法可以将我的uiviewcollection从背景重新加载到前台吗?
1 回答
要修复您获得的错误,您需要使用流布局初始化CollectionViewController .
I would recommend a different approach to doing this though ,就像在您的应用委托中一样,您将创建一个新的CollectionViewController实例,而不是针对显示的实例 . 您应该在CollectionViewController的viewWillAppear方法中订阅"UIApplicationDidBecomeActiveNotification"通知 .
不要忘记删除观察者,以便不对重新加载方法进行重复调用 .