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