gpt4 book ai didi

Swift 3 NSArray 与 nil 比较

转载 作者:搜寻专家 更新时间:2023-11-01 06:16:52 25 4
gpt4 key购买 nike

我正在尝试将 objc 项目迁移到 swift3。我不确定如何将数组与 nil 进行比较。我找到了 this主题,但那是 2 年前的事了,swift 的语法发生了很大变化。

如果我在 swift 中有这样的代码:

let variable = something as? NSArray
if variable == nil {
// do something
}

它不会让我比较这个变量和nil,导致错误“比较这个变量,总是返回false”。我试过将 variable.description 与“”进行比较,但它做同样的事情吗?我所说的“某事”是指:

var variable = dict.object(forKey: someString) as! NSArray

我想用它做的主要事情是:

var variable = dict.object(forKey: someString) as! NSArray
if variable == nil {
//create
}
else {
// append
}

最佳答案

这就是可选的展开语法的用途。您可以将解包和转换合并为一个 if 语句:

if let variable = something as? NSArray {
// variable is not nil and is an NSArray
// Now you can do something with it.
} else {
// Either something is nil or it is not able to be cast as an NSArray
// Handle this case.
}

我还应该提一下,如果您不需要在 Objective-C 中使用 something,那么您应该使用 Swift 原生数组类型。这可以这样声明:

let someArray = ["string1", "string2"]

关于Swift 3 NSArray 与 nil 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42814598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com