【问题标题】:Swift: Check if variable is nilSwift:检查变量是否为零
【发布时间】:2015-02-20 15:25:07
【问题描述】:

我目前正在学习 Swift,我正在尝试使用 Core Data,我想在其中保存一个链表。要在列表末尾添加一个元素,我有一个这样的 while 循环:

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

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

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

【问题讨论】:

  • 我强烈认为这是Check if property is set in Core Data? 的副本。 – 问题是即使nextElem 在 Core Data 模型检查器中定义为可选,Xcode 也不会在 Swift 类中创建可选属性。上述问题的答案显示了一种解决方法。

标签: xcode swift core-data


【解决方案1】:

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

另外,试试 Xcode 6.3 beta —— Swift 1.1 中的大多数错误消息说“我不知道你在做什么,所以我只会说你不能将它转换为 UInt8”已被替换为Swift 1.2 中更好的诊断。

【讨论】:

  • 要下载测试版,您必须加入我尚未加入的计划(学习优先)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 2012-05-23
  • 2017-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多