我似乎无法将数据保存到Swift中的realm!
在我的一个课程中,我有以下内容:
func getDeviceIdAndPersist(){
print("getDeviceIdAndPersist")
let realm = try! Realm()
let realmWallet = RealmWallet()
let realmResults = realm.objects(RealmWallet.self)
for results in realmResults {
guard results.deviceId != nil else {
realmWallet.deviceId = NSUUID().UUIDString
try! realm.write() {
realm.add(realmWallet, update: true)
}
return
}
}
}
而且它似乎不能保存数据!我在整个应用程序和它保存的数据中都有类似的代码,但这不是!
此外,我在尝试持久化我的数据时遇到了问题,在我启动应用程序之后,数据是使用realm存储的(我可以使用realm浏览器进行验证)。但是,一旦我重新启动应用程序,数据就不再存在于realm中!有没有人对为什么数据不会持久化有什么建议?
编辑1个
这是我的领域类
class RealmWallet: Object {
dynamic var publicKey = NSData()
dynamic var preferredAddress = ""
dynamic var id = 0
let walletAddresses = List<Addresses>()
dynamic var fee: NSNumber = 0.0
dynamic var deviceId: String? = nil
dynamic var tempPreTax: String? = nil
dynamic var portalToken: String? = nil
let walletHasBackup = RealmOptional<Bool>()
let alreadyAskedForBluetooth = RealmOptional<Bool>()
let insecureMailSent = RealmOptional<Bool>()
let cameraAccessGranted = RealmOptional<Bool>()
let idNowSuccess = RealmOptional<Bool>()
dynamic var marketInfos = NSData()
override class func primaryKey() -> String? {
return "id"
}
}
编辑2个
NSUUID不是我唯一不能保存的数据,下面是我不能使用Realm保存的另一个数据示例:
onboardingModal!.bluetoothPressed = {() -> Void in
print("after onboardingModal")
self.cbManager = CBCentralManager(delegate: self, queue: nil)
print("REALM")
let realm = try! Realm()
do {
try! realm.write {
print("IN WRITE")
self.realmWallet.alreadyAskedForBluetooth.value = true
realm.add(self.realmWallet, update: true)
}
}
}
https://stackoverflow.com/questions/38654266
复制相似问题