【问题标题】:null value is evaluating to TRUE空值评估为 TRUE
【发布时间】:2014-09-26 06:04:42
【问题描述】:

我在 Parse 后端的“homeTeamScore”字段有空值(null)。解析字段类型为 Number。

但是,以下条件的评估结果为 TRUE。然后在它为 TRUE 时在执行块内部中断。

if (team.objectForKey("homeTeamScore") != nil) {
// execute some code
var homeTeamScoreInt: Int = team.objectForKey("homeTeamScore") as Int! // <- this is where code throws exception
}

我不知道发生了什么。为什么 null 值评估为 TRUE?

代码如下:

println("homeTeamScore") 
println(sweet.objectForKey("homeTeamScore"))

打印:

homeTeamScore
<null>

【问题讨论】:

  • if let homeTeamScoreInt = team.objectForKey("homeTeamScore")

标签: swift parse-platform


【解决方案1】:

team.objectForKey("homeTeamScore")NSNull 在这种情况下使用:

if (team.objectForKey("homeTeamScore") != nil && team.objectForKey("homeTeamScore") is NSNull == false) {
    // execute some code
    var homeTeamScoreInt: Int = team.objectForKey("homeTeamScore") as Int! // <- this is where code throws exception
}

此示例显示了 nilNSNull 的打印方式之间的区别:

print(NSNull()) // "<null>"
var a: Int?
print(a)        // "nil"

【讨论】:

  • 工作。谢谢你。我知道我应该理解 nil 和 NSNull 之间的区别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
相关资源
最近更新 更多