iOS无法在View Controller中删除IBOutlet

时间:2014-04-02 20:53:08

标签: ios iphone objective-c

首先,如果我的问题没有得到正确询问或答案是否明显,我想道歉,但我正在学习iOS开发,而且我对特定术语有些困难,因为我是法国人

我的应用程序有一个包含表视图单元格的表视图控制器,所有这些控制器都包含一个标签和一个开关。它是为我的家庭自动化做的:当我点击一个开关时,它应该通过向Raspberry Pi发送SSH命令来打开/关闭我的灯或电视。

所以这是我的问题:我按照Treehouse上的教程向我的交换机添加操作,但是当我从故事板到视图控制器的操作时,请在@interface和{之间插入{1}},没有生成任何内容,我想知道原因。

PS:有人能告诉我视图中包含的所有对象都在哪里声明,因为当我右键单击我的故事板然后打开源代码时,它就是一个XML文件。为什么他们不在Obj-C?

感谢。

2 个答案:

答案 0 :(得分:1)

Objective-C是一种完全反射的语言:从类的字符串名称和方法的字符串名称,您可以在运行时创建该类的实例并调用该方法。

界面构建器是一种设计工具。您可以布置视图并为其提供属性。它本质上是一个绘图工具,就像Photoshop或其任何文件纯数据。碰巧用XML存储它们。

数据被解析并转换为对象,其方式与解析PNG文件并转换为像素的方式相同。所以没有代码生成。这与Visual C ++不同,或者通过自动生成代码来破解设计工具。没有代码。你无法看到它,因为它在任何地方都不存在。

碰巧接口文件目前是XML的特定格式。他们过去曾是其他形式。它没有记录,不能直接依赖。只需使用UINib来阅读它们,或者通过您可能在Info.plist中指定的主界面文件自动依赖它。

至于教程,如果没有看到项目,很难回答。视图控制器是否正在拖动到接口文件中指定的类型?

答案 1 :(得分:1)

如果使用原型单元格将表格视图设置为动态,我认为您不能将组件从原型单元格拖到ViewController上。相反,您想要创建自定义表视图单元类。然后,您将使用开关分配原型单元格以使用您的自定义类。最后,您应该能够控制 - 将开关拖到自定义单元类上并创建出口属性。这将为您提供每个单元格的开关参考。在视图控制器中,您可以获取单元对象,然后获取switch属性。添加动作也是如此,您可以控制将动作拖动到自定义单元格类。