Swift中关于任意类型的数组

Swift中关于任意类型的数组,第1张

概述在Objc中你是不可以把一个非对象类型放入数组的,你必须将其”封箱”,然后再放入数组. 在Swift中你可将非对象类型轻松放入数组: let ary = [1,2,3] 你可以明确指定元素类型: let ary:[Int] = [1,2,3] 不过你不可以在一个数组中包括不同类型的元素,除非你使用AnyObject类型: class Foo{}let ary:[AnyObject] = [

在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()]
总结

以上是内存溢出为你收集整理的Swift中关于任意类型的数组全部内容,希望文章能够帮你解决Swift中关于任意类型的数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1073833.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存