2015-05-05 4 views
0

Я хочу обновить объект с помощью области. Но мое приложение рушится.Обновление объекта в области

Мой код:

var findConversations = ShufflePerson.objectsWhere("receiver='\(from)'") 
var shuf = findConversations[0] as! ShufflePerson 
shuf.unreadMessage=shuf.unreadMessage++ 
self.realm.beginWriteTransaction() 
self.realm.commitWriteTransaction() 

Краш Log:

Terminating app due to uncaught exception 'RLMException', reason: 'Attempting to modify object outside of a write transaction - call beginWriteTransaction on an RLMRealm instance first.' 

Как я могу исправить?

ответ

2

Попробуйте следующее:

var findConversations = ShufflePerson.objectsWhere("receiver='\(from)'") 
var shuf = findConversations[0] as! ShufflePerson 
self.realm.beginWriteTransaction() 
shuf.unreadMessage++ 
self.realm.commitWriteTransaction() 

проблема, как сказано в сообщении исключения, в том, что вы модифицирование объекта вне транзакции записи. Выполнение этой мутации внутри транзакции должно сделать трюк!