iphone - 我应该在我编写的每个文件中导入 UIKit 吗?

标签 iphone uiview sdk view

我正在为 iPhone 编码,想知道是否需要在每个编码文件中包含 UIKit,或者是否有更好的规则来规定何时这样做以及何时不需要?

谢谢!

最佳答案

虽然 pch 文件可以方便地为您预编译 header ,但我强烈建议文件导入它们使用的内容。这使得理解依赖关系变得更加容易,并且更容易重用代码,包括跨平台重用(iPhone 与 Mac)。

考虑到这一点,答案是您不应该将 UIKit.h 导入到每个文件中。您应该将其导入到使用 UIKit 的每个文件中。那应该是您的 View 和 Controller 类。模型类几乎不应该使用 UIKit。他们通常应该导入 Foundation.h。遵循此规则可以轻松地将对象移动到 .pch 文件中可能具有不同代码的其他项目中,并且更容易在 iPhone 和 Mac 上重用模型类。

我通常也不建议您将 UIKit.h 或 Foundation.h 导入到您自己的类的子类中。我通常只是将 UIKit、AppKit 或 Foundation 导入到代码中的最高级别头文件中。例如,如果我有一个名为 MYAbstractView 的 UIView 子类,它导入 UIKit.h(以包含 UIView 的定义),然后添加一个 MYConcreteView 子类,我只需导入 MYAbstractView.h。

请注意,UIKit 和 AppKit 都已导入 Foundation,因此没有理由同时导入两者。

关于iphone - 我应该在我编写的每个文件中导入 UIKit 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283132/

相关文章:

ios - 使用静态单元格创 build 置场景 - 附上屏幕截图和简单测试用例

ios - UIView 和动画没有出现

java - 包 android.support.v4.app 不存在;在安卓工作室 0.8

java.io.FileNotFoundException :/mnt/sdcard/Android/data/com. example.imymemine/files/qwer/abcd.txt (是一个目录)

html - 从 HTML iOS SDK 读取文本

iphone - (iphone)如何使用AudioServicesPlaySystemSound从多个 View 播放相同的声音?

java - Phonegap 中的 EmailComposer 无法正常工作

iphone - 以编程方式禁用水平滚动到 UITextView

ios - 如何在 Swift 中保存 CoreGraphics 绘图

ios - UITextView 由于行数和字符数限制文本