【发布时间】:2014-09-03 07:06:14
【问题描述】:
我正在尝试检索所有已保存的用户 (RLMObject) 对象。然后我检查是否有任何对象保存。如果不是,我创建一个新的用户对象并尝试保存它。
RLMArray *allUsers = [User allObjects];
if (allUsers.count == 0) {
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
User *newUser = [[User alloc]init];
newUser.userID = [userDict[@"id"] integerValue];
newUser.role = userDict[@"role"];
newUser.email = userDict[@"email"];
newUser.given_name = userDict[@"profile"][@"given_name"];
newUser.family_name = userDict[@"profile"][@"family_name"];
[realm addObject:newUser];
[realm commitWriteTransaction];
}
但是,这会因以下消息而崩溃:'RLMException', reason: 'Attempting to modify object outside of a write transaction - call beginWriteTransaction on a RLMRealm instance first.'
我真的不知道为什么。我正在修改默认领域的写入事务中的对象。
提前致谢!
【问题讨论】:
-
你确定那是应用程序崩溃的地方吗?
-
@trojanfoe 你是对的,那不是它崩溃的地方。