【发布时间】:2015-12-21 09:38:40
【问题描述】:
我在我的应用程序中使用 Realm,但我遇到了一些问题。 服务器返回应该在我的数据库中更新的数据。例如:
{ projects:[{ id:1, name:project1, floors:[ { id:1, name:floor1} ] }]}
它说我应该更新项目中 id=1 的 name 和 floors 字段。如果数据库中的项目有floor id=1,那么应该更新它,否则应该添加。但它不应该从地板阵列中删除其他对象。
我做了什么:
Project *project = [Project projectFromDictionary:dictionary];
[realm beginWriteTransaction];
[Project createOrUpdateInDefaultRealmWithValue:project];
[realm commitWriteTransaction];
但此代码删除了我项目中的其他楼层。我该怎么办?
项目类:
@interface Project:RLMObject
@property NSString *name;
@property NSString *projectID;
@property RLMArray<Floor *><Floor> *floors;
@end
楼层:
@interface Floor:RLMObject
@property NSString *name;
@property NSString *floorID;
@end
RLM_ARRAY_TYPE(Floor)
【问题讨论】:
标签: objective-c realm