Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c IVAR和属性应该在头文件或实现文件中声明吗?_Objective C_Ios_Coding Style - Fatal编程技术网

Objective c IVAR和属性应该在头文件或实现文件中声明吗?

Objective c IVAR和属性应该在头文件或实现文件中声明吗?,objective-c,ios,coding-style,Objective C,Ios,Coding Style,我想知道以下哪项被认为是iOS开发的“最佳实践”: 在.h文件中声明所有IVAR和属性,以便任何人都能理解类的结构 在.m文件中声明@implementation块中的所有IVAR,并在.h文件中声明必要的属性。(如有必要,还可以在.m文件中声明一些属性以供内部使用)。这里的想法是,其他人不必担心我的结构和实现,他们只需要使用我的代码 这实际上取决于个人喜好,每个项目都有所不同。以下是几个例子: 在创建框架时,您希望只包含希望其他人看到的属性和方法,因为.h文件将是他们真正可以查看的唯一文件 在

我想知道以下哪项被认为是iOS开发的“最佳实践”:

  • 在.h文件中声明所有IVAR和属性,以便任何人都能理解类的结构

  • 在.m文件中声明
    @implementation
    块中的所有IVAR,并在.h文件中声明必要的属性。(如有必要,还可以在.m文件中声明一些属性以供内部使用)。这里的想法是,其他人不必担心我的结构和实现,他们只需要使用我的代码


  • 这实际上取决于个人喜好,每个项目都有所不同。以下是几个例子:

    在创建框架时,您希望只包含希望其他人看到的属性和方法,因为.h文件将是他们真正可以查看的唯一文件

    在与团队一起处理大型项目时,您可能希望在.h文件中添加更多内容,以便在跟踪未编写的部分代码中的错误时,知道在何处查找属性

    我认为大多数在线示例都将头文件视为“public”属性,将.m视为“private”(即使它们不是真正的私有)


    无论如何,据我所知,没有“最佳实践”。只要确保您选择一种方法并在整个项目中坚持使用它,以便保持一致性。

    我认为您最好阅读开发人员文档,它是:


    亲爱的克洛森,我知道这些理论。我想知道最好的做法。