Swift中关于任意类型的数组
发布时间:2020-12-14 06:49:59 所属栏目:百科 来源:网络整理
导读:在Objc中你是不可以把一个非对象类型放入数组的,你必须将其”封箱”,然后再放入数组. 在Swift中你可将非对象类型轻松放入数组: let ary = [ 1 , 2 , 3 ] 你可以明确指定元素类型: let ary:[ Int ] = [ 1 , 3 ] 不过你不可以在一个数组中包括不同类型的元素,
在Objc中你是不可以把一个非对象类型放入数组的,你必须将其”封箱”,然后再放入数组. 在Swift中你可将非对象类型轻松放入数组: let ary = [1,2,3]
你可以明确指定元素类型: let ary:[Int] = [1,3]
不过你不可以在一个数组中包括不同类型的元素,除非你使用AnyObject类型: class Foo{
}
let ary:[AnyObject] = [1,"String",Foo(),12.22]
不过现在问题又来了,如果我定义一个非类对象的话(比如说结构),想把它混入数组呢?我们来试一下: class Foo{
}
struct Moo{
}
let ary:[AnyObject] = [1,12.22,Moo()]
编译器很爽快的报错了: error: value of type 'Moo' does not conform to expected element type 'AnyObject'
原因如上,因为Moo不是类,所以Moo()也不是对象! 那么如果碰巧我们需要这么做呢!?很简单,Swift还有一种类型Any,用它可以达到目的: //That's OK!
let ary:[Any] = [1,Moo()]
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |