无法使用String类型的参数列表调用max

时间:2015-05-13 15:08:56

标签: swift realm

我开始尝试使用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'。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

let nextId = realm.objects(Alarm).max("id") as Int?

您需要告诉Swift调用站点的max()的返回类型应该是什么,因为它取决于您在字符串参数中命名的属性的类型。它必须是Int?而不仅仅是Int,因为如果没有对象,则没有最大值。