我正在为 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/