J'utilise Realm pour stocker les informations user. Lorsque je lance l'application, je regarde dans la database Realm pour voir s'il y a un object user (pour déterminer si l'user est connecté ou déconnecté). Voici mon code:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { let config=Realm.Configuration( schemaVersion: 2, migrationBlock: { migration, oldSchemaVersion in if (oldSchemaVersion<1) || (oldSchemaVersion<2){ migration.enumerateObjects(ofType: User.className()) { oldObject, newObject in } } }) Realm.Configuration.defaultConfiguration=config do{ let r=try Realm() print(Realm.Configuration.defaultConfiguration.fileURL!.path) let u=r.objects(User.self) //prints 0 print("user:", u.count) }catch let e as NSError{ print("failed to initate realm /", e) } return true }
Je peux voir à partir de Realm Browser que l'user est dans la database . Mais je ne peux pas l'avoir. Je suis probablement en train d'initier le Royaume dans le mauvais sens mais je ne peux pas le comprendre. Une idée?
MISE À JOUR : Voici le code que j'appelle pour save l'user lors de l'logging ou de la journalisation:
DispatchQueue.main.async{ do{ let r=try Realm() try r.write{ let u=User(id:"id", username:"username") r.add(u) } }catch let e as NSError{ print(e) } } }