Swift Can';t使用故事板连接Xcode 6中的插座集合

Swift Can';t使用故事板连接Xcode 6中的插座集合,swift,xcode6,Swift,Xcode6,我在Xcode 6中创建插座集合时遇到问题。Xcode 6中的Outlet集合现在起到常规IBOutlet的作用,您可以使用相同的@IBOutlet属性来声明Outlet集合,同时确保为类型指定数组。我已经在我的视图控制器的swift文件中这样做了,即 @IBOutlet var cardButtons: UIButton[] 在Xcode 5中,当一个控件使用辅助编辑器从故事板中的元素拖动到相应的视图控制器时,会显示一个选项,用于创建出口或出口集合。这在Xcode 6中似乎不再可能,我的猜测

我在Xcode 6中创建插座集合时遇到问题。Xcode 6中的Outlet集合现在起到常规IBOutlet的作用,您可以使用相同的@IBOutlet属性来声明Outlet集合,同时确保为类型指定数组。我已经在我的视图控制器的swift文件中这样做了,即

@IBOutlet var cardButtons: UIButton[]
在Xcode 5中,当一个控件使用辅助编辑器从故事板中的元素拖动到相应的视图控制器时,会显示一个选项,用于创建出口或出口集合。这在Xcode 6中似乎不再可能,我的猜测是因为outlets和outletcollection现在共享相同的@IBOutlet属性。我应该如何创建一个包含10个按钮的outlet集合,而不能够控制从情节提要视图中拖动每个按钮并将其连接到我的应用程序

@IBOutlet var cardButtons: UIButton[] 

属性在我的视图控制器swift文件中?

如果操作正确,只需更正式地定义数组:

@IBOutlet var cardButtons: Array<UIButton>

这是Xcode 6测试版的已知问题: “接口生成器不支持在Swift类中声明出口集合。(15607242)”


内特·库克的答案适用于附加门店,但不适用于门店集合。希望在下一个Xcode 6 beta版本中,这个问题会得到解决。

奇怪的是,我用swift做了IBOutlet,它工作了一段时间,只是意识到它停止工作,并发现在Xcode 6 beta的上一个版本中有什么东西坏掉了,但它不工作。

在Xcode 6的种子3中,以下语法起作用:

@IBOutlet strong var cardButtons: NSArray?
注意以下几点:

  • 您必须使用
    strong
    ,因为@IBOutlet在默认情况下是弱的,并且由于数组不在界面中,所以在您有机会使用它之前,它将消失

  • 您必须使用NSArray,因为您不能将数组标记为强数组

当然,现在由您决定是否知道所包含的类型


还请注意,当您控制拖动以形成outlet集合时,这不是文档或Xcode本身所宣传的语法。我情不自禁;使用这种语法会导致seg故障,因此显然需要其他东西,至少目前是这样。

在Beta 4中修复了此问题,因此有人声称。Array和[Type]都不适用于Xcode 8中的outlet集合。使用NSArray使outlet集合显示在IB中,但它仍然不允许我连接到它。
@IBOutlet strong var cardButtons: NSArray?