Я разрабатываю простое приложение, которое загружает изображения с Dribbble
, но у меня проблема с перезагрузкой данных для моего вида коллекции. У меня два представления, настроенные с ViewDeck
, центр - это мой основной вид, который содержит представление коллекции, а другой вид содержит представление таблицы с настройками, и оттуда я пытаюсь вызвать метод в первом представлении и перезагрузить данные, когда элемент прослушивается, но он просто не работает.Не удается перезагрузить коллекцию - null
Я попытался вызвать тот же метод из главного окна, используя кнопку -> работал как шарм, но со второго окна он просто не обновляет данные.
Я попытался каким-то образом отлаживать и кажется, что моя коллекция имеет значение null при вызове перезагрузки, не знаю почему.
SettingsViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"tap");
JKViewController *appDelegate = [[JKViewController alloc] init];
appDelegate.dataHasChanged = YES;
[appDelegate refresh];
[self.viewDeckController closeLeftViewAnimated:YES];
}
MainView
- (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];
}
Кто-нибудь знает, в чем проблема?
Edit - решаемые
Получение права экземпляр centerViewController
JKViewController *mainController = ((UINavigationController*)self.viewDeckController.centerController).visibleViewController.navigationController.viewControllers[0];
Вы можете использовать SDK Dribbble iOS для загрузки снимков в однолинейный метод вызова API, это может сэкономить вам много времени. См. Github repo: https://github.com/agilie/dribbble-ios-sdk – Mitya