首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该在我编写的每个文件中导入UIKit吗?

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

Stack Overflow用户
提问于 2010-02-18 01:58:27
回答 3查看 21.5K关注 0票数 22

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

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-18 02:13:00

当您需要图形用户界面组件时,必须使用UIKit。但是如果已经在Prefix.pch上定义了这个库,那么就不需要导入它:

代码语言:javascript
复制
#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
#endif

它允许您为所有当前项目导入这些库。

票数 22
EN

Stack Overflow用户

发布于 2010-02-18 02:50:21

虽然pch文件对于预编译头文件很方便,但我强烈建议文件导入它们使用的内容。这使得更容易理解依赖关系,也更容易重用代码,包括跨平台重用(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都已经导入了基础,所以没有理由同时导入这两个。

票数 26
EN

Stack Overflow用户

发布于 2010-02-18 02:17:50

您应该将其导入到任何需要它的类的.h文件中。这是正确的,除非类正在扩展导入它的另一个类,那么您不需要这样做。您可能不想做任何更复杂的事情,因为所有的iPhone应用程序都将链接库。如果我们讨论的是第三方库或不太常见的库,那么您可能需要小心。以避免代码可重用性问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2283132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档