objective-c私有与公共方法和标题中的声明是否?

Gre*_*reg 9 iphone methods objective-c private-methods

Objective-c中私有方法的最佳实践方法是什么?这是一种仅用于将类作为辅助方法的方法.

特别是我不清楚的是:

  1. 是否需要将头文件中指定的方法设为私有?即为什么不把它从头文件中删除,并且
  2. 如果你可以将它从头文件中删除,那么拥有私有方法有什么意义呢?
  3. 或者在objective-c中的情况是没有真正的私有方法这样的东西,在这种情况下,最好只指定头文件中的所有内容并且根本没有标记私有的麻烦?

谢谢

Ano*_*mie 7

无需在公共头文件中指定方法.如果模块中的类应该是"朋友",您可能需要一个"私有"头文件供模块中的其他类使用.你甚至可以拥有一个"受保护"的头文件,就像Apple所做的那样UIGestureRecognizerSubclass.h.但这完全是惯例,语言本身并不支持.

Objective-C中的私有方法只是一个没有公开记录的方法; 任何方法仍然可以从任何地方调用,只要调用者知道它的名称,以便创建适当的选择器.不公开记录方法的优点是您可以自由更改或删除它而不必担心向后兼容性.将它们从头文件中删除是一种不公开记录它们的方法.


Dou*_*ugW 6

您可能想要使用的内容称为"类扩展".它们看起来很相似,但不应与类别混淆.这将允许您在.m文件中声明私有方法,并且您将获得所有不错的IDE更正和建议.

这是关于它的一篇不错的文章
以及一个相关的SO问题