0
如何在iOS應用程序中檢索Realm對象數據?無法將類型Appdata的值轉換爲預期的參數類型Object.type Realm Swift
Object類是:
import Foundation
import RealmSwift
class AppData: Object {
dynamic var id = 0
dynamic var tokeType = ""
dynamic var token = ""
dynamic var refreshToken = ""
dynamic var accessToken = ""
override static func primaryKey() -> String? {
return "id"
}
}
我使用填充/更新AppData的領域對象下面的函數:
func register(_ instanceParameters : [String : AnyObject], completionHandler: @escaping ([Instance]?, NSError?) ->()) {
Alamofire.request(Router.register(instanceParameters)).responseJSON{ response in
var instance = [Instance]()
let AppDataObj = AppData()
let config = Realm.Configuration(
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in
if (oldSchemaVersion < 1) {
}
})
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
switch response.result {
case .success(let json):
let responseObject = json as? [String: AnyObject]
instance.append(Instance(dictionary: responseObject!))
AppDataObj.token = (instance.first?.token)!
AppDataObj.tokeType = "Instance_Token"
AppDataObj.id = 1
try! realm.write {
realm.add(AppDataObj, update: true)
}
completionHandler(instance, nil)
case .failure(let error):
completionHandler(nil, error as NSError)
}
}
}
和目前一切OK了,你可以見下面我可以使用Realm Browser管理AppData對象:
我發現的問題是,當我需要使用的持久性的領域對象數據試圖檢索應用程序數據令牌:
import RealmSwift
var AppDataObj = AppData()
let data = realm.object(ofType: AppDataObj, forPrimaryKey: "id")
loginParameters["token"] = AppDataObj.token as AnyObject? --> this line throws the error defined in the title of this question