gpt4 book ai didi

arrays - 将 AnyObject 选择性转换为数组会产生错误

转载 作者:行者123 更新时间:2023-11-30 10:18:08 26 4
gpt4 key购买 nike

我试图对 AnyObject 类型进行可选转换为整数数组,如果它为零,将使用合并运算符存储一个空数组。代码:

import UIKit

let arrayAsAnyObject: AnyObject = [3, 4]

let arrayAsInts: [Int] = arrayAsAnyObject as? [Int] ?? [] // causes issue

这给我带来了以下问题:

Array types are now written with the brackets around the element type

如果我单击“修复”按钮,它会将最后一行替换为

let arrayAsInts: [Int] = arrayAsAnyObject as? [[Int] ??[]

这显然不能解决这个问题。有什么想法为什么会发生这种情况以及如何解决它吗?我正在使用 Xcode 6.3 beta 和 Swift 1.2。

最佳答案

这是 ??as? 之间的优先级问题,已在 6.3 beta 2 中解决。?? 在该版本,所以您现在也可以执行诸如 optInt == otherOptInt ?? 之类的操作0 并默认绑定(bind)到右侧。

如果我尝试使用 Swift 1.2 beta 2 版本,它会按原样工作,所以我建议升级(因为这是在旧的和新的 beta 版本之间,而不是在 beta 和发布版本之间)而不是使用括号修复,这也可以解决它。

关于arrays - 将 AnyObject 选择性转换为数组会产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29005976/

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