我正在学习Swift,我正在尝试使用Core Data来保存链表。要在列表的末尾添加一个元素,我有一个像这样的while循环:
var curr = start
while (curr.nextElem != nil) {
curr = curr.nextElem
}
问题是虽然curr.next != nil
似乎无效,但会显示以下错误:'ListElem' is not convertible to UInt8
我之前几次注意到这个错误,但总是找到一种比较方法,但在这种情况下如何做到这一点?
答案 0 :(得分:1)
您的ListElem.nextElem
属性似乎正在返回实际的ListElem
,因此它永远不会是零。为了能够为零,它必须是可选类型(ListElem?
)。
另外,试试Xcode 6.3测试版 - 大多数错误消息,其中Swift 1.1说“我不知道你在做什么,所以我只是说你不能将它转换为UInt8
”已经在Swift 1.2中用更好的诊断代替。