【问题标题】:Value of type 'Int' has no member 'intValue'“Int”类型的值没有成员“intValue”
【发布时间】:2018-08-26 17:40:46
【问题描述】:

我有一个message 数组。每条消息都有一个timestamp 属性,即Int。我正在尝试根据最近的日期对数组进行排序,但我收到一条错误消息:

“Int”类型的值没有成员“intValue”

self.messages.sort(by: { (message1, message2) -> Bool in
     return message1.timestamp!.intValue > message2.timestamp!.intValue
})

【问题讨论】:

  • return message1.timestamp! > message2.timestamp! 确保时间戳不为零
  • @LeoDabus 哦,是的。这是正确的。这行得通。请将其添加为答案,以便我接受。谢谢
  • 不客气
  • 旁注:消息可以缺少时间戳吗?如果没有,请将 timestamp 设为非可选。
  • 如果你知道它总是有一个值,让它成为非可选的。非可选不能崩溃。

标签: arrays swift int


【解决方案1】:

错误消息是非常自我解释的时间戳,它不是NSNumber,而是Int,因此您可以直接比较它们。如果您确定时间戳永远不会为零,最好将其声明更改为非可选:

messages.sort { $0.timestamp > $1.timestamp }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2023-04-07
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多