最近,我一直在努力学习Swift,所以如果这似乎是一个相对简单的问题,请原谅我。
由于某些原因,控件--单击选项卡视图控制器中的NSTextField对象并拖动--并不会给我“插入出口或操作”的选项,而是当我滚动到兼容对象(在本例中是超类声明)时,提供“连接绑定”的选项。
为什么我不能插入一个插座或动作,但能够连接一个绑定?
附带问题:什么是约束?
发布于 2016-03-02 02:53:46
出口只能是您的nib文件/故事板场景的所有者的属性。在大多数情况下都是视图控制器。
这就是您的视图控制器从故事板实例化的结果:
简短版本:
UIKit为您实例化视图控制器,并按情节提要中的要求添加所有子视图。并将(绑定) subViews连接到它们的出口(如果您创建的话)。
如何解决你的问题
当你打开你的助理编辑。选择自动viewController,如果这不是您创建的东西,您应该创建一个您需要的viewController子类(在本例中是UITabViewController),并将场景的类更改为该子类。
发布于 2016-03-02 03:02:32
当您控制时,您需要在情节提要中有相同的视图控制器-将一个NSTextField拖动到控制器。
编辑:正如Leo在评论中提到的那样,如果您使用故事板,您不能在AppDelegate文件中连接/创建任何IBOutlet,您必须在它的特定控制器中创建放置NSTextField的位置

故事板
如图像所示,如果您在情节提要中,单击控制器上的顶部栏,您将得到图像中显示的选项,选择自动
如果您在情节提要中选择了适当的视图控制器,它应该在自动(viewController.swift)中显示相同的视图控制器文件,方法是选择应该能够控制拖动IBOutlet的文件。
XIB
在Xib中,当您选择Xib并单击'Asssistant‘时,它通常会选择适当的视图控制器,如果不选择Automatic,也如童话板图像所示,您将能够连接IBOultet。
结合
当您控制-拖动IBOutlet时,它会在控件和视图控制器属性之间创建一个连接。
来自苹果公司
Cocoa绑定功能使您能够在数据项与视图中的表示之间建立实时连接。对数据的值所做的任何更改,无论是在视图中还是在存储数据的对象中,都会自动在连接中传播。
您可以在苹果博士中找到有关它的更多信息。
https://stackoverflow.com/questions/35737380
复制相似问题