Ich erstelle ein Projekt. Ich möchte, wenn die userID
bereits vorhanden ist, wird der Benutzer nicht hinzugefügt. Aber irgendwie funktioniert mein Code nicht richtig.Benutzer mit Realm-Objekt speichern
Das ist mein Reich Modell Object (User.swift):
import Foundation
import RealmSwift
class User: Object {
@objc dynamic var userID = Int()
@objc dynamic var username = ""
@objc dynamic var full_name = ""
@objc dynamic var myBool = Bool()
override static func primaryKey() -> String? {
return "userID"
}
}
Und das ist die Schaltfläche Benutzer hinzufügen:
@IBAction func add(_ sender: Any) {
let myUser = User()
let JSON_userID = Int(arc4random_uniform(5)) // This is temporary. I am going to get code from JSON, but using random for testing purpose.
if (myUser.userID != JSON_userID) {
myUser.userID = JSON_userID
myUser.username = "myUsername"
myUser.full_name = "My Name"
let realm = try! Realm()
try! realm.write {
realm.add(myUser)
}
}
else {
print("Already exist")
}
}
Manchmal läuft es den Code, aber die meisten der Zeit es stürzt mit Fehler ab:
.
Sie müssen DB abfragen und gegen alle Benutzer testen. Ihre if-Anweisung wird immer wahr sein, da Sie immer mit neu erstellten Benutzer testen. – kirander
Was ist die Nachricht der Ausnahme? –