Привет я делаю проект с Realm, и теперь с новой версией этого я получаю «Объект уже сохраняется в Realm»Объект уже сохраняется в Realm
Это происходит потому, что я пытаясь сохранить объект, который уже существует в другой сфере. (Это заключение, которое я получил после прочтения документации)
Но на самом деле у меня только одно королевство, по умолчанию.
Для каждого добавления или обновления do realm, я создаю поток. И на этой теме у меня есть:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
NSString *PlaceId = [placeInfoDic objectForKey:@"PlaceId"];
RLMArray *placeArr = [Place objectsWhere:@"PlaceId = %@",PlaceId];
Place *place;
if (placeArr.count > 0) {
place = [placeArr objectAtIndex:0];
}
else {
place = [[Place alloc] init];
place.PlaceId = PlaceId;
}
[realm addOrUpdateObject:place];
[realm commitWriteTransaction];
});
И PlaceId является основным ключом на моей модели.
Thx заранее!
Thx, который решил проблему – GoNinja
убедитесь, что вы используете правильный класс при вызове objectForPrimaryKey: (я ошибочно использовал суперкласс) –