저장된 모든 사용자 (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
@trojanfoe 당신이 맞습니다. 그것은 추락 한 곳이 아니 었습니다. – Sebyddd