您当前的位置: 首页 >  swift

Swift中关于任意类型的数组

发布时间:2016-07-29 14:54:55 ,浏览量:0

在Objc中你是不可以把一个非对象类型放入数组的,你必须将其”封箱”,然后再放入数组.

在Swift中你可将非对象类型轻松放入数组:

let ary = [1,2,3]

你可以明确指定元素类型:

let ary:[Int] = [1,2,3]

不过你不可以在一个数组中包括不同类型的元素,除非你使用AnyObject类型:

class Foo{ } let ary:[AnyObject] = [1,"String",Foo(),12.22]

不过现在问题又来了,如果我定义一个非类对象的话(比如说结构),想把它混入数组呢?我们来试一下:

class Foo{

} struct Moo{

} let ary:[AnyObject] = [1,"String",Foo(),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,"String",Foo(),12.22,Moo()]
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    105952博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0609s