我试图更新领域数据库,但无法弄清楚。更新领域数据库
我正在使用[realm addObject:info];
,但这只是将相同的对象添加到已存在的Realm数据库中。
然后我用[People createOrUpdateInRealm:realm withValue:info];
替换了那个,但是只添加了我的人信息数组中的最后一项(有6个人,但Realm数据库只显示第六人信息)。
不知道我在做什么错?
People.h:
@property (nonatomic) NSString *fname;
@property (nonatomic) NSString *lname;
@property (nonatomic) NSString *flName;
@property (nonatomic) NSString *email;
@property (nonatomic) NSString *phone;
@property (nonatomic) NSString *video;
@property (nonatomic) NSString *pdf;
@property (nonatomic) NSString *pKey;
+ (NSString *)primaryKey;
People.m:
+ (NSString *)primaryKey
{
return @"pKey";
}
TableViewController.m:
RLMRealm *realm = [RLMRealm defaultRealm];
for (id item in responseArray) {
[realm beginWriteTransaction];
People *info = [[People alloc] init];
info.fname = item[@"fname"];
info.lname = item[@"lname"];
info.flName = [NSString stringWithFormat:@"%@ %@", item[@"fname"], item[@"lname"]];
info.phone = item[@"phone"];
info.video = item[@"video"];
info.pdf = item[@"pdf"];
[People createOrUpdateInRealm:realm withValue:info];
[realm commitWriteTransaction];
}
的responseArray
来自API的数据。
你放了RLMRealm * realm = [RLMRealm defaultRealm];在循环中,所以每次都会写完。把它放在循环之外 –
@TejaNandamuri我将更新我的代码。出于某种原因,我仍然遇到同样的问题? – SRMR
将调用放置到'[RLMRealm defaultRealm]'与您看到的任何问题无关。 – bdash