Im использует Parse для серверной части. И у меня есть табличное представление со списком объекта Контакты из Parse. Если пользователь нажимает на объект, он сохраняет его для синтаксического анализа и, если кратки снова удаляет его из разбора.Каков правильный способ воссоздать объект на Parse после его удаления?
Для экономии я использую метод:
- (void)addContact:(Contact *)contact withBlock:(void (^)(void))completion {
[contact saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (completion) completion();
}];
}
Для удаления использовать это:
- (void)removeContact:(Contact *)contact withBlock:(void (^)(void))completion {
[contact deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
contact.objectId = nil;
if (completion) completion();
}];
}
Я поставил ObjectId к нулю, потому что я использую это свойство в виде таблицы, чтобы увидеть, если объект Allready на синтаксический анализ его просто по телефону.
Проблема в том, что если пользователь выполняет такие действия, как: сохранение, удаление, сохранение.
- Сохранить: объект создается при разборе со всеми данными.
- Удалить: объект удален из разбора.
- Сохранить: объект создается при разборе, но без данных (только объектId).
Это обычная процедура? На телефоне объект всегда имеет все данные даже после метода удаления. Поэтому я предполагаю, что если я запустил метод сохранения на объекте со всеми данными, он сохранит его в синтаксическом анализе, даже если один и тот же объект проходит через удаление в прошлом.
Вот картинка из одного пустого объекта и тот, который сохраняется корректно со всеми данными:
Что ваш опыт с этим? Наслаждайтесь решением этой проблемы и помогите сделать wold лучшим местом :)
Можете ли вы опубликовать код, где и как вы устанавливаете поля для контакта? – Kex
Можете ли вы просто установить флаг, когда он удален, а не удалять объект? – Wain
@ Wain да, если я не решит его таким образом, я переключусь, чтобы отметить его как удаленный. –