2015-04-06 3 views
7

Вот мой код, и я не могу понять, что я делаю неправильно. Я делаю, как говорится в документе http://realm.io/docs/cocoa/0.91.1/#deleting-objectsdeleteObject не работает в Realm

 // Delete Current Object 
     RLMRealm *realm = RLMRealm.defaultRealm; 

     [realm beginWriteTransaction]; 
     EBooks *eBookdb = [[EBooks alloc]init]; 
     eBookdb.eBook_ID = [NSString stringWithFormat:@"%@",self.eBookID]; 
     eBookdb.status = @"canceled"; 
     [EBooks createOrUpdateInRealm:realm withObject:eBookdb]; 

     [realm commitWriteTransaction]; 

     //=> break point here before crash  

     [realm beginWriteTransaction]; 
     [realm deleteObject:eBookdb]; 
     [realm commitWriteTransaction]; 

и авариях приложения после останова со следующей ошибкой

'Можно только удалить объект из области он принадлежит.

ответ

5

Проблема в том, что вы пытаетесь удалить автономный объект EBooks, а не тот, который сохраняется в Царстве. Если вы измените свой код к следующему, он должен работать:

// Delete Current Object 


RLMRealm *realm = RLMRealm.defaultRealm; 

[realm beginWriteTransaction]; 
EBooks *eBookdb = [[EBooks alloc]init]; 
eBookdb.eBook_ID = [NSString stringWithFormat:@"%@",self.eBookID]; 
eBookdb.status = @"canceled"; 
eBookdb = [EBooks createOrUpdateInRealm:realm withObject:eBookdb]; 

[realm commitWriteTransaction]; 

[realm beginWriteTransaction]; 
[realm deleteObject:eBookdb]; 
[realm commitWriteTransaction]; 
+0

Это мой текущий код http://pastebin.com/N8VhTG7M Но я получаю новую ошибку в настоящее время ** Нагрузочного приложение из-за к исключенному исключению «RLMException», причина: «Индекс за пределами границ». *** – iDev

+0

Прошу прощения, что ошибка вызвана другой проблемой. Спасибо – iDev

Смежные вопросы