0

情况1:

Swift 代码接受以下语句为 AnyObject var array = [1, 1.0, "String"]

数组的输出是:[1, 1.0, "String"]

案例2:

但它不接受 AnyObject 的以下代码,并将其假定为所有 Doubles 为什么 var any_object = [1, 2.0, 222222222.888888]

any_object 的输出为:[1.0, 2.0, 222222222.0]

为什么功能从 case1 更改为 case2?任何人都可以澄清我的疑问。

4

1 回答 1

1

第一种情况必须是AnyObject因为既有数字数据类型又有字符串。第二种情况是使用Double可以从值中推断出的最精确的数字数据类型形式(在本例中为 )。

如果你想AnyObject在第二种情况下,你可以在定义上指定这种类型:

var any_object: [AnyObject] = [1, 2.0, 222222222.888888]
于 2015-01-26T01:53:27.357 回答