【发布时间】:2015-03-12 19:57:53
【问题描述】:
我试图将 AnyObject 类型的可选转换为整数数组,如果它为 nil,则将使用合并运算符存储一个空数组。代码:
import UIKit
let arrayAsAnyObject: AnyObject = [3, 4]
let arrayAsInts: [Int] = arrayAsAnyObject as? [Int] ?? [] // causes issue
这给了我以下问题:
数组类型现在用括号括住元素类型
如果我点击“修复”按钮,它会将最后一行替换为
let arrayAsInts: [Int] = arrayAsAnyObject as? [[Int] ??[]
这显然不能解决这个问题。任何想法为什么会发生这种情况以及如何解决它?我正在使用 Xcode 6.3 beta 和 Swift 1.2。
【问题讨论】:
-
尝试将
??的左侧表达式用括号括起来,如下所示:(arrayAsAnyObject as? [Int]) ?? []。 -
@findall 谢谢!有用。错误消息虽然有点令人困惑..
-
@findall 您应该将其发布为答案。