我将 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 设置为 nil,因为我在表视图中使用此属性来查看对象是否已准备好解析它只是在电话上。
问题是,如果用户执行以下步骤:保存、删除、保存。
- 保存:对象是在解析所有数据时创建的。
- 删除:从解析中删除对象。
- 保存:对象是在解析时创建的,但没有数据(只是 objectId)。
这是正常程序吗?在手机上,即使在删除方法之后,该对象也始终拥有所有数据。所以我假设如果我在包含所有数据的对象上运行 save 方法,它会将其保存到解析中,即使同一个对象过去经历过删除。
这是一个空对象的图片和一个正确保存所有数据的图片:
您对此有何经验?享受解决这个问题并帮助使 wold 成为一个更好的地方:)