gpt4 book ai didi

ios - swift2 中的段错误 11

转载 作者:行者123 更新时间:2023-11-28 09:26:33 25 4
gpt4 key购买 nike

我不知道为什么会出现此错误。

问题代码在这里

for i in 0..<itemDataJson?.count {
imageUrls.append(appDelegate.itemDataJson![i]["image_url"].string!)
}

当我 print(itemDataJson?.count) 时,它会打印 Optional(1)。我做错了什么?

谢谢。

最佳答案

它正在打印 Optional(1),因为变量 itemDataJson 可以为 null,因此计数必须可以为 null,因为我们不知道 itemDataJson 是否真的有值。

我在您的代码中看到的主要问题是您在强制展开变量。强制展开变量是一种代码味道(通常,虽然我有时自己做,但你需要小心)。

当你强制展开一个变量时,你需要问自己一个问题,“如果这个变量为 nil,我是否希望应用程序在这里崩溃?”。如果答案是肯定的,那么使用强制展开是可以接受的,否则,您应该创建一个不可为 null 的变量,或者如果这不可能,您应该使用 guard快速声明。

可以这样使用:

guard let itemDataJson = itemDataJson else {
// itemDataJson was null do something
return
}

您也可以使用 if let 结构,但是如果您没有正确使用 if let 结构,请注意厄运金字塔。参见 here正确使用它,或使用 guard 语句。

我建议查看关于 optionals 的文档如果您还没有这样做的话。

关于ios - swift2 中的段错误 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38672137/

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