我开始尝试使用swift并遇到一些基本困难。
这是我的模特:
class Alarm: Object {
dynamic var id: Int = 0
dynamic var name: String!
dynamic var date: NSDate!
override static func primaryKey() -> String? {
return "id"
}
}
现在我想计算保存记录的nextId
。我写的是这样的:
let nextId = realm.objects(Alarm).max("id")
但是XCode给我一个错误:
无法使用类型为'(String)'的参数列表调用'max'。
我做错了什么?
答案 0 :(得分:3)
let nextId = realm.objects(Alarm).max("id") as Int?
您需要告诉Swift调用站点的max()
的返回类型应该是什么,因为它取决于您在字符串参数中命名的属性的类型。它必须是Int?
而不仅仅是Int
,因为如果没有对象,则没有最大值。