Я недавно начал программировать для платформы iOS, но теперь мне нужна помощь, чтобы выяснить, как сделать что-то:
- Для своего приложения я извлекаю некоторые данные JSON и помещаю эти данные как объектыв массив
- Этот массив записывается в мой собственный файл PLIST (в каталоге docs)
Теперь, когда пользователи запускают действие синхронизации I:
- Извлечение данных из PLIST
- Получение метки времени для определенного объекта в массиве, полученного из PLIST
- Использование метки времени в новом запросе JSON (для новых данных)
Пока все хорошо.
Теперь для моей (текущей) проблемы -> После получения новых данных (JSON req) я хочу обновить временную метку этого «определенного» объекта в массиве (и записать это в Plist).
Используя NSPredicate, я могу найти правильный набор данных в основном массиве ( stampArr ).
NSString *documentsDir = [NSHomeDirectory()stringByAppendingPathComponent:@"Documents"];
NSString *plistPath = [documentsDir stringByAppendingPathComponent:@"stamps.plist"];
NSMutableArray *stampArr = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
NSPredicate *filter = [NSPredicate predicateWithFormat:@"eventid = 1"];
NSMutableArray *filteredStampArr = [stampArr filteredArrayUsingPredicate:filter];
Но теперь, после обновления FilterStampArr , я хочу обновить основной массив данными из фильтрованного массива.
Другими словами, мне нужно обновить объект из массива с помощью новой метки времени (поля объекта).
Конечно, я мог бы использовать что-то вроде [stampArr addObject: [FilterStampArr copy]] после изменения массива filterd, но это просто создало бы дубликат информации.Я хочу перезаписать исходный объект.
Каким-то образом (я думаю) мне нужен «указатель», который сообщает мне расположение данных в исходном массиве, чтобы я мог изменить данные непосредственно в основном массиве?
(Надеюсь, мои вопросы ясны - если нет, скажите, пожалуйста)