gpt4 book ai didi

iOS 无法在 View Controller 中删除 IBOutlet

转载 作者:行者123 更新时间:2023-11-28 22:11:26 27 4
gpt4 key购买 nike

首先,如果我的问题没有被正确提出或答案很明显,我想道歉,但我正在学习 iOS 开发,我在特定术语方面遇到一些困难,因为我是法国人。

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

所以这是我的问题:我遵循了关于 Treehouse 的教程向我的开关添加一个 Action ,但是当我从 Storyboard到 View Controller 的一个 Action ,然后放在 @interface@end 之间时,没有生成任何东西,我想知道为什么。

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

谢谢。

最佳答案

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

界面生成器是一种设计工具。您布置 View 并赋予它们属性。它本质上是一个绘图工具,就像 Photoshop 或任何它的文件都是纯数据一样。它恰好将这些存储在 XML 中。

数据被解析并转换为对象的方式与 PNG 文件可能被解析并转换为像素的方式相同。所以没有代码生成。这不像 Visual C++ 或那些通过自动生成代码对设计工具进行黑客攻击的工具之一。没有代码。您看不到它,因为它从不存在于任何地方。

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

关于教程,没看过项目很难回答。您拖到的 View Controller 是否确实是接口(interface)文件中指定的类型?

关于iOS 无法在 View Controller 中删除 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22822806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com