Swift:检查变量是不是为零

Posted

技术标签:

【中文标题】Swift:检查变量是不是为零【英文标题】: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 类中创建可选属性。上述问题的答案显示了一种解决方法。 【参考方案1】:

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

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

【讨论】:

要下载测试版,您必须加入我尚未加入的计划(学习优先)

以上是关于Swift:检查变量是不是为零的主要内容,如果未能解决你的问题,请参考以下文章

如何检查图像是不是为零?

检查字节数组是不是全为零的最快方法

检查字符数组是不是为零的快速方法[重复]

检查iterable的所有值是不是都为零

检查双精度值是不是为整数 - Swift

在 Swift 3 中检查启动选项