在 Swift 代码中,作为数组接受 AnyObject,如果我们给出一个 Interger 和一个 Double 它作



case1:

Swift 代码接受以下语句作为 AnyObjectvar 数组 = [1, 1.0, "字符串"]

数组的输出为:[1, 1.0, "字符串"]

案例2:

但它不接受以下代码的 AnyObject,并假设它都是双打为什么var any_object = [1, 2.0, 2222222222.888888]

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

为什么功能从大小写 1 更改为大小写 2?任何人都可以澄清我的疑问。

必须

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

如果要在第二种情况下AnyObject,可以在定义中指定此类型:

var any_object: [AnyObject] = [1, 2.0, 222222222.888888]

最新更新