到目前为止,我一直在需要的.h
类文件中导入所需的.h
文件。
我昨天读到这是不正确的方法,我应该转发.h
中的类,然后在.m
中导入它但是,我很困惑这是什么时候这样做的正确方法它来到大型项目?
由于我会在很多文件中进行大量导入,因此这会使代码在我看来很长。有人建议我创建一个BaseViewController
类,其子类UIViewController
并在那里添加我的所有导入,我将创建的所有UIViewController's
将子类BaseViewController
而不是{{1}直接。这是有效的,但我只是想知道正确的方法。
提前致谢。
答案 0 :(得分:1)
在Xcode
中,当您创建class
时,默认情况下会生成该类的.h
和.m
个文件。
这两个文件用于分隔班级的public
和private
部分。
.h
文件是类的公共声明的头文件,如API
,而.m
文件是私有实现。
您必须在somefile.h
somefile.m
答案 1 :(得分:1)
.pch
文件。
创建.pch
并在.pch
文件中添加要最频繁导入的类标题。然后无需导入任何.h
和.m
。他们会自动为他们提供。答案 2 :(得分:0)
你可以这样做。为每一个模块创建一个.H文件,把需要用到的类导入到里面,需要引用时直接引入这个模块的.H文件使用就好。这样不用写过多的。 ħ文件,也避免了PCH的导入文件过多的情况。
你可以这样做。为每个模块创建一个.h fiel,并将你想要的.h文件导入到这个.h。并将此.h文件导入到您想要的位置。但是如果某个.h文件是基础的,请将它们导入.pch文件。事实上,我发现它有点过于猖獗。但是,希望对你有用。
答案 3 :(得分:0)
Objective-C的标准最佳做法是在WebDriver driver;
//constructor
public UserRegistrationPage(WebDriver driver)
{
this.driver=driver;
}
头文件中转发声明类,并在.h
实现文件中转发#import
个类。这减少了编译时间并迫使您将依赖项移动到实际需要的位置。例外是您的类继承的基类和协议。这些标题中需要.m
。
Google Style Guide for Objective-C指定了标头应包含在#import
实施文件中的建议顺序。这部分是为了阻止标头依赖于它们之前包含的其他标头。订单如下:
.m
)MyClass.h
)Foundation/Foundation.h
)通常,许多stdlib.h
和/或前向声明会使代码过长,这可能表明您应该重构以减少类之间的依赖关系。理想情况下,依赖项的数量should be low,但最终取决于具体情况。