我有两节课。第一个是 AbstractEntity.swift:
class AbstractEntity : DBObject{
//...
}
另一个是继承了 AbstractEntity 的 User.swift。
class User: AbstractEntity {
dynamic var Sync: NSNumber?
dynamic var Password: NSString?
dynamic var id_Worker: NSNumber?
dynamic var Login: NSString?
}
在我的主数据库控制器中,我有这个方法:
func getObjectByID(ID: NSNumber, entityClass: AnyClass)-> AbstractEntity{
println("String value = "+ID.stringValue)
var query = entityClass.query().whereWithFormat("id = %@", withParameters: [ID.stringValue])
var resSet = query.fetch()
var abstractEntity = AbstractEntity()
if (resSet.count > 0){
abstractEntity = resSet[0] as! AbstractEntity
}
return abstractEntity
}
问题是当我尝试通过 id 从数据库中获取对象时,我的 Id 值为零。它只在我启动我的应用程序时第一次发生。
var user = getObjectByID(2, entityClass: User.classForCoder())
为什么会这样?