Swift: 检查变量是否为 nil

Swift: Check if variable is nil

我目前正在学习 Swift 并且我正在尝试使用核心数据来保存链表。要在列表末尾添加一个元素,我有一个像这样的 while 循环:

var curr = start
while (curr.nextElem != nil) {
    curr = curr.nextElem
}

问题是虽然 curr.next != nil 似乎无效,但显示以下错误:'ListElem' is not convertible to UInt8

我以前几次注意到这个错误,但总能找到一种比较方法,但在这种情况下如何做到这一点?

您的 ListElem.nextElem 属性 似乎返回了一个实际的 ListElem,因此它永远不会为零。为了能够为零,它必须是可选类型 (ListElem?).

此外,请尝试 Xcode 6.3 beta — 大多数 Swift 1.1 表示 "I dunno what you're doing, so I'll just say you can't convert it to UInt8" 的错误消息已在 Swift 1.2 中被更好的诊断所取代。