我在我的 iOS 应用程序中使用Realm和 Swift 3。我有以下代码
//Find all records for the day
func findForToday<T: Object>() -> [T] {
let predicate = NSPredicate(format: "date >= %@ and date <= %@", DateUtil.dayStart(), DateUtil.dayEnd())
return getRealm().objects(T.self).filter(predicate).map { $0 }
}
Run Code Online (Sandbox Code Playgroud)
其中,T在这方面是一个看起来像我的境界模型类
class MyModel : Object {
dynamic var id = 0
dynamic var date = NSDate()
override class func primaryKey() -> String? {
return "id"
}
}
Run Code Online (Sandbox Code Playgroud)
我在运行时遇到异常说
Terminating app due to uncaught exception 'RLMException', reason:
'Object type 'RealmSwiftObject' is not managed by the Realm. If using a custom
`objectClasses` / `objectTypes` array in your configuration, add `RealmSwiftObject`
to the list of `objectClasses` / `objectTypes`.'
Run Code Online (Sandbox Code Playgroud)
错误消息表明 已T被推断为Object而不是MyModel,因此您需要调整调用站点以确保 Swift 选择正确的类型。
| 归档时间: |
|
| 查看次数: |
3307 次 |
| 最近记录: |