Передача данных через вкладки в контроллере панели вкладок
Попытка передать данные между вкладками в контроллере UITab. Я пытался использовать делегаты и не мог заставить его работать, а также пытался создать экземпляр объекта класса для передачи ему данных, но также не смог заставить его работать.
моя установка такая...
Я пытаюсь отправить данные из тестовой таблицы в таблицу избранного, как показано стрелками... так как я пытаюсь реализовать контроллер представления таблицы избранного для пользователя в ячейках любимой таблицы, которые ему нравятся.
1 ответ
Я также рекомендую Core Data, но если вам покажется, что это слишком сложно для вашего проекта, вы можете использовать Plist-файлы для избранных.
Обратите внимание, что это быстрый пример:
-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{
if ([favorites containsObject:items[indexPath.row]]) {
[favorites removeObjectAtIndex:[favorites indexOfObject:items[indexPath.row]]];
}
else {
[favorites addObject:items[indexPath.row]];
}
[self saveItems];
[self.tableView reloadData];
}
- (void)loadItems {
NSString *filePath = [self pathForItems];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
favorites = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
} else {
favorites = [NSMutableArray array];
}
}
- (void)saveItems {
NSString *filePath = [self pathForItems];
[NSKeyedArchiver archiveRootObject:favorites toFile:filePath];
}
- (NSString *)pathForItems {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents = [paths lastObject];
return [documents stringByAppendingPathComponent:@"favorites.plist"];
}