Передача данных через вкладки в контроллере панели вкладок

Попытка передать данные между вкладками в контроллере 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"];
}
Другие вопросы по тегам