objective-c - 一般学习 Objective-C 和 Xcode 时注意到的好奇心

标签 objective-c c xcode interface-builder

在指定提供 View Controller 和 View 之间连接的实例变量时,我们在 View 对象类型之前使用 IBOutlet 关键字。这有助于表明它是一个连接到 View 的实例变量。

但是,是否存在我不需要在我的 View 对象类型之前使用 IBOutlet 关键字的情况?例如:我们可以有这样一个场景:

UIButton *display ;

有某种用途 vs

IBOutlet UIButton *display ;

这个问题源于好奇。

我的另一个问题可能与理解接口(interface)和 C 语言的细微差别有关。

在 View Controller 或任何 Controller 中,我们倾向于“导入”头文件而不是实现文件。我不同意这个概念,这又只是一种好奇?

最佳答案

IBOutlet”关键字不会改变您的程序的任何内容,它只是允许 Interface Builder 识别可用的连接。如果你不需要在你的接口(interface)中连接一些东西(例如,如果你只是想要一个实例变量用于私有(private)存储,或者如果你想使用一个@property),那么你不需要必须使用 IBOutlet

我们导入头文件只是为了让编译器知道在程序的其他地方使用它们时哪些类和方法可用。无需导入实现文件;它只需要编译成程序,它包含的东西就可用了。

关于objective-c - 一般学习 Objective-C 和 Xcode 时注意到的好奇心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7170382/

相关文章:

ios - 在 CoreData 模型中存储 (long long)

c - 是否可以在此代码中使用重复结构?

c - shell脚本: write to file

objective-c - Xcode Interface Builder 设置按钮的突出显示图像

ios - method_getImplementation 在 64 位 iphone 5s 上崩溃

Objective-C:NSStatusBar 右键和左键单击

objective-c - NSImageView + 背景色

objective-c - 在延迟后触发方法而不滥用 [UIView animateWithDuration]?

c - 我的服务器程序只在第二个请求到达时才回答第一个请求?

swift - 无法在 Xcode Playgrounds 中创建文件夹?