В настоящее время у меня есть следующие настройки в моем приложении:Представление данных подходят для UITableViewDataSource
К примеру, у меня есть gamelist, где игры имеют различные состояния, и я хотел бы определенное состояние, чтобы быть в определенном раздел и т. д.
Поскольку у меня есть 3 разных состояния, я буду использовать NSDictionary с состоянием как ключом и Array как значение и поставить определенную игру с определенным состоянием в правильном массиве.
Тогда мой код numberOfRowsInSection
будет что-то вроде:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSString* state = [self getStateForSection:section];
return [[obj objectForKey:state] count];
}
Проблемы в том, я не люблю, имеющие объекты в массивах с тех пор я смотреть через весь массив каждый раз, когда я хочу получить доступ к определенной спичке.
Я хотел бы иметь все совпадения в одном NSDictionary с matchID как ключом и NSDictionary с значением (совпадением).
Но как бы мне это сделать в UITableView
?
Я мог бы сделать что-то, где я верну всеKeys из моего NSDictionary, но мне все равно придется повторять его, чтобы найти свое текущее состояние и добавить свой ключ в соответствующий список?
Да, хорошо, тогда мне все равно придется пройти через массив, чтобы найти определенное совпадение, когда мне нужно его обновить, хотя я мог бы найти его с фильтром filterArrayUsingPredicate, он, вероятно, все равно будет искать весь массив внутри, так как он не сортирован. – netigger
Если вы поместите экземпляр объекта как в словарь, так и в массив, существует только один экземпляр, поэтому не имеет значения, измените ли вы его из словаря или массива, а другая структура данных будет обновлена. То, что вы могли бы сделать, - это связать каждый матч с «indexPath», поэтому, когда совпадение обновлено, вы можете сказать, что табличное представление перезагружает «indexPath», в противном случае вы перезагружаете целые разделы или всю таблицу для совпадений для обновления на Таблица. Теперь вы в основном начинаете воссоздавать «NSFetchedResultsController» Core Data '' – Ric
О, вы правы, глупые меня :) не думали с точки зрения ссылок :) плохо мог бы дать этот шанс! – netigger