Я не могу сохранить данные в области в Swift!Не удается сохранить данные в области
В одном из моих классов у меня есть следующие:
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
}
}
}
И не похоже, чтобы сохранить данные! У меня есть код, подобный этому во всем моем приложении и его данных сохранения, но это не так!
Также у меня возникли проблемы с попыткой сохранить мои данные, после того как я запустил приложение, данные хранятся с использованием области (которую я могу проверить, используя браузер области). Однако, как только я запустил приложение, данные больше не существуют в сфере! Есть ли у кого-нибудь какие-либо предложения относительно того, почему данные не будут сохраняться?
EDIT 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"
}
}
EDIT 2
NSUUID не только данные, которые я не могу сохранить, следующий еще один пример данных, которые я, похоже, не могу сэкономить, используя Королевство:
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)
}
}
}
пожалуйста, добавьте свой 'RealmWallet' класс кода, возможно, класс имеет' dynamic' для переменных – xmhafiz
Добавлен класс, и это делает! Разве у этого не будет динамика? – tobyapp
Вы вообще не изменяете конфигурацию по умолчанию ('Realm.Configuration.defaultConfiguration')? Кроме того, есть ли у вас в вашем приложении какой-либо код для удаления файлов на диске, например. при запуске? – AustinZ