2017-02-04 2 views
0

am Использование Realm для моей настойчивости. Теперь я действительно смущен, если я использую сферу или нет.завершение с неперехваченным исключением типа realm :: IncorrectThreadException: Realm, доступ к которому из неправильной строки

Я использую almofire, ObjectMapper и Realm, следующий за моим кодом.

UserInfo

class UserInfo:Object,Mapper 
{ 
dynamic var name:String? 
dynamic var accountTye:String? 
dynamic var loginResult: String? 
} 

Как только я получаю ответ успеха с сервера для моего входа в систему.

========= UserSessionManager

var userInfo:UserInfo? 

UserSessionManager.shared().saveSession() 
    func saveSession() 
    { 
    RealmHelper.shared().save(userInfo!) 
    } 

RealmHelper

func save<T:Object>(_ realmObject:T) { 
    let backgroundQueue = DispatchQueue(label: ".realm", qos:  .background) 
    backgroundQueue.async { 
    let realm = try! Realm() 
    debugPrint("Realm Creation (Thread.current)") I am getting same thread 
    if realm.isInWriteTransaction{ 
    return 
    } 
    try! realm.write { 
    debugPrint("Realm add (Thread.current)") I am getting same thread 
    realm.add(realmObject) 
    } 
    } 

    } 

Когда я пытаюсь доступа к объекту UserSessionManager.shared(). USERINFO я получаю эту аварию.

Я не понимал, почему это происходит.

+0

Я читаю их, но я получаю эту ошибку странно, когда я не обращаюсь к Царству. – Santhosh

+0

Я получаю эту ошибку при доступе к объекту модели, который предназначен для сохранения в Realm, который является странным. – Santhosh

+0

UserInfo * - * объект realm. Таким образом, вы получаете доступ к области при доступе к UserIinfo. – Gruntcakes

ответ

0

Я исправил эту проблему, обратившись к объекту UserInfo из Realm. Проблема заключается в том, что я добавляю объект realm (UserInfo) в Realm.

Я пытаюсь получить доступ к тому же самому объекту, который хранится в другом отдельном классе, что вызывает у меня проблему.

Сейчас я доступ тот же объект после того, как не retriving из области, в настоящее время нет проблем,

Но я не это способ доступа к объекту Realm, когда мы добавили его в Realm.