Swift 2 Playground(Xcode 7 Beta 4)-数组中的多个类型仅在导入UIKit时才起作用吗?

恶魔

当我注意到这种奇怪的行为时,我正在操场上尝试Swift数组

下面的代码工作正常。

import UIKit

var array = [1,2,3,"Booyaa"]

但是,一旦我从Playground中删除“ import UIKit”行,就会收到以下错误消息

游乐场执行失败:/var/folders/tx/tvyf1r314wj9371f491qx8wjbqbgsr/T/./lldb/11708/playground71.swift:2:17:错误:'Int'无法转换为'IntegerLiteralConvertible'变量数组= [1、2、3 ,“ Booyaa”]

为什么会这样?

恶魔

正确的答案在这里,是对我在Apple Dev论坛上发布的相同问题的回答=> https://forums.developer.apple.com/message/35389

这是因为Swift数组只能包含相同类型的对象。您的数组包含整数和字符串。当您导入UIKit时,借助Swift的推理引擎,数组中的对象将成为NSObject类型的对象。若要亲自查看,请在数组定义后添加一行,您将看到类型为Swift.array

import UIKit  
var array = [1,2,3,"Swift2"]  
array.dynamicType 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

_BSMachError XCode 7 Beta

在Xcode 6 Beta 4中释放Segue

AVAudioPlayer不再在Swift 2.0 / Xcode 7 beta中工作

Xcode 7 beta 2上的“没有这样的模块”

自XCode 7 beta 2起,UITapGestureRecognizer无法正常工作

在Swift中,是否存在#ifdef来区分Xcode 6.4和Xcode 7 beta?

Swift 2中文档注释的新格式是什么?(XCode 7 beta 3)

Xcode 7 beta 5,Swift 2:UITableViewCell的子视图在运行时未添加到contentView

使用swift 2(xcode 7 beta 5)解析注册错误

Alamofire Swift 2-无法提交Beta测试(Xcode 7 GM)

Xcode 7 Beta 5 Swift 2冗余符合协议错误

Xcode 7.3 Beta 1与Swift中的CommonCrypto

Xcode 8 beta 4中的shouldAutorotate()函数

SQLite.swift窗格:Xcode 8.3 beta 2中的Swift编译器错误

基于WWDC的谈话,Swift 4(BETA 2)KVO崩溃

Swift 4-Xcode 9.0 beta 2上的OpenCV 3.2

Swift 4-Xcode 9 Beta 4-NSKernAttributeName与NSAttributedStringKey

在Swift 4 Xcode 9 Beta 6中无法对UIButton进行编程,无法添加目标

Xcode Swift Playground中的多个视图

当我在Xcode 6 Beta中尝试Swift的Playground时出错

Xcode6 beta 7 Swift无法使用UIPickerViewDataSource

Swift和XCode 7 Beta 2未显示正在播放的歌曲的元数据

Xcode 7 beta 4-UI记录崩溃

tableView.reloadData()在使用Simulator的Xcode 7 beta 4和Swift2中不起作用

XCode 7 Beta / Swift 2中的单元测试核心数据

ParseFacebookUtilsV4启用位码错误Xcode 7 Beta 6

Swift 4 中的过滤字典在 Xcode 中失败,但在 Playground 中成功

Xcode 中的 Swift Playground - TapGestureRecognizer 到 UILabel 不起作用

Xcode 13 Swift Playground 中的异步/等待