gpt4 book ai didi

ios - Swift 2.2 打破可选/解包可选

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:55 26 4
gpt4 key购买 nike

Swift 2.2 几乎破坏了我所有的代码。即使是这个分配给标签的简单字符串也不再起作用了:

cell.categoryName.text = peopleArray![indexPath.row]["Name"] as? String

错误显示“从‘字符串?!’向下转换到 'String' 只解包可选值,你的意思是使用 '!!' 吗?

我现在必须做哪些改变。

编辑:

更多问题:

if (dict["data"]!["DataDetails"] as! NSArray).count == 0 {
}

因此,我遇到了段错误,错误显示如下:警告:从“字符串?!”转换到不相关的类型“NSArray”总是失败

更新:

我在我的类(class)中使用了 NSDictionaries、NSArrays,这似乎导致了这个问题。将所有文字从 Obj-C 更改为 swift 使代码正常工作。因此,我也会推荐其他开发人员更喜欢 swift 文字。

最佳答案

使用 swift 类型和 objective-c NS... 类型时似乎存在一些细微差别

例如

let dic:NSDictionary? = ["a":"a"]

let str:NSString? = dic!["a"] as? NSString

let dic2:Dictionary? = ["b":"b"]

let str2:String? = dic2!["b"] //dont need to do any casting, already optional

print(str)
print(str2)

打印

Optional(a)
Optional("b")

所以根据你的数组/字典的定义方式,你可能需要不同的转换/解包

关于ios - Swift 2.2 打破可选/解包可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36171958/

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