Swift 快速数组文字

Swift 快速数组文字,swift,Swift,我正在创建一个UICollisionBehavior,如下所示: let collision = UICollisionBehavior(items: NSArray(object: self.squareView)) 为什么我不能这样说: let collision = UICollisionBehavior(items: [self.squareViews]) 编译器对[“”]满意,但不接受[self.sqareViews] 我在这里遗漏了什么?对我来说就像一个简单的打字错误,我想你是说

我正在创建一个UICollisionBehavior,如下所示:

let collision = UICollisionBehavior(items: NSArray(object: self.squareView))
为什么我不能这样说:

let collision = UICollisionBehavior(items: [self.squareViews])
编译器对[“”]满意,但不接受[self.sqareViews]
我在这里遗漏了什么?

对我来说就像一个简单的打字错误,我想你是说
self.squareView
,而不是
self.squareView**

let collision = UICollisionBehavior(items: [self.squareView])
我已经测试了以下内容,并且可以确认它已编译:

var view = UIView()
let collision = UICollisionBehavior(items: [view])

没有,但是您对代码片段的注释确实有帮助!我忘了Swift在实例变量初始化中使用了稍微不同的模型作为ObjC。。。例如,使用UIViewControllers,您经常需要一些实例变量,您只需要在viewDidLoad等中进行初始化。现在,在swift中,这些变量由选项实现。但是您不能仅仅通过名称来引用一个可选项,您必须将其展开:),因此现在可以正常工作:UICollisionBehavior(items:[self.sqareView!])。我很抱歉这不是我最后一次被发现:))