我正在开发一个从 下载图像的简单应用程序Dribbble
,但是在为我的集合视图重新加载数据时遇到问题。我设置了两个视图ViewDeck
,中心是我的主视图,其中包含集合视图,另一个视图包含带有设置的表视图,从那里我试图在第一个视图中调用一个方法并在点击项目时重新加载数据但是它只是行不通。
我尝试使用按钮从主窗口调用相同的方法 - > 就像一个魅力,但从第二个窗口它只是不更新数据。
我试图以某种方式进行调试,似乎我的集合在调用重新加载时为空,不知道为什么。
设置视图控制器
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"tap");
JKViewController *appDelegate = [[JKViewController alloc] init];
appDelegate.dataHasChanged = YES;
[appDelegate refresh];
[self.viewDeckController closeLeftViewAnimated:YES];
}
主视图
- (void)refresh{
NSLog(@"refresh");
if(dataHasChanged)
{
switch (listType) {
case 0:
[self refreshWithList:SPListPopular];
break;
case 1:
[self refreshWithList:SPListEveryone];
break;
case 2:
[self refreshWithList:SPListDebuts];
break;
case 3:
[self refreshWithList:SPListPopular];
break;
default:
[self refreshWithList:nil];
break;
}
dataHasChanged = NO;
NSLog(@"Should refresh");
}
NSLog(@"%d", [self->shots count]);
NSLog(@"Collection view: %@",self.collectionView.description);
NSLog(@"self.list: %@",self.list);
NSLog(@"List type: %d", listType);
}
这不起作用:/,但是当我从 MainView 中的按钮调用它时,它起作用了。
- (IBAction)changeList:(id)sender {
[self refreshWithList:SPListDebuts];
}
有谁知道可能是什么问题?
编辑 - 已解决
获取 centerViewController 的正确实例
JKViewController *mainController = ((UINavigationController*)self.viewDeckController.centerController).visibleViewController.navigationController.viewControllers[0];