Arrays 表达式类型不明确,没有typealias数组的更多上下文
我试图创建一个typealias对象的数组数组,但得到了一个“表达式类型不明确,没有更多上下文”编译错误。 这是我的密码:Arrays 表达式类型不明确,没有typealias数组的更多上下文,arrays,xcode,swift,swift2,Arrays,Xcode,Swift,Swift2,我试图创建一个typealias对象的数组数组,但得到了一个“表达式类型不明确,没有更多上下文”编译错误。 这是我的密码: typealias TestClosure = ((message: String)->()) var testArray = [[TestClosure]](count: 4, repeatedValue: nil) 我错过了什么 更新: typealias TestClosure = (String) -> () var testArray = [[Tes
typealias TestClosure = ((message: String)->())
var testArray = [[TestClosure]](count: 4, repeatedValue: nil)
我错过了什么
更新:
typealias TestClosure = (String) -> ()
var testArray = [[TestClosure]](repeating: [], count: 4)
typealias TestClosure = ((message: String) -> ())
var testArray = [[TestClosure]](count: 4, repeatedValue: [])
结果表明,当数组数组是optionals数组时,它会编译:
var testArray = [[TestClosure]?](count: 4, repeatedValue: nil)
但是-我想确保初始数组将包含实际的空数组。
我该怎么做呢?Swift 2 使用
repeatedValue
创建空数组:
var testArray = Array(count: 4, repeatedValue: [TestClosure]())
Swift 3
语法发生了变化,但想法是一样的:
var testArray = Array(repeating: [TestClosure](), count: 4)
Swift 2 使用
repeatedValue
创建空数组:
var testArray = Array(count: 4, repeatedValue: [TestClosure]())
Swift 3
语法发生了变化,但想法是一样的:
var testArray = Array(repeating: [TestClosure](), count: 4)
使用
[]
创建空数组,而不是nil
:
Swift 3:
typealias TestClosure = (String) -> ()
var testArray = [[TestClosure]](repeating: [], count: 4)
typealias TestClosure = ((message: String) -> ())
var testArray = [[TestClosure]](count: 4, repeatedValue: [])
Swift 2:
typealias TestClosure = (String) -> ()
var testArray = [[TestClosure]](repeating: [], count: 4)
typealias TestClosure = ((message: String) -> ())
var testArray = [[TestClosure]](count: 4, repeatedValue: [])
使用
[]
创建空数组,而不是nil
:
Swift 3:
typealias TestClosure = (String) -> ()
var testArray = [[TestClosure]](repeating: [], count: 4)
typealias TestClosure = ((message: String) -> ())
var testArray = [[TestClosure]](count: 4, repeatedValue: [])
Swift 2:
typealias TestClosure = (String) -> ()
var testArray = [[TestClosure]](repeating: [], count: 4)
typealias TestClosure = ((message: String) -> ())
var testArray = [[TestClosure]](count: 4, repeatedValue: [])