在@interface声明中理解“(私有)”的这种用法

时间:2011-06-28 20:23:26

标签: objective-c ios cocoa-touch interface method-declaration

我看过这样编写的代码:

@interface AViewController(Private)

我想知道提交到App Store时(Private)是否意味着什么?这一般意味着什么?

3 个答案:

答案 0 :(得分:7)

这是一个名为“私人”的类别。

查看Objective-C编程参考的Categories and Extensions章节

这意味着它是AViewControler类的一个附加组件,为方便起见,它已被命名为“Private”。它可以被称为任何东西,甚至留空以创建类扩展。

您可以在自己的代码中创建应用程序可以调用的私有方法。这实际上是一种很好的做法,因为它表明了正确的封装(尽管Objective-C中没有私有方法)。如果您不希望自己的应用程序被App Store拒绝,那么您不允许在代码中使用iOS框架的私有方法。

答案 1 :(得分:2)

在这种情况下,

(Private)处理面向对象编程的原则。

这并不一定表示违反Apple iPhone开发者协议的私有 API。

注意: App Store批准非常黑盒,因此我无法保证此类代码在批准过程中不会导致拒绝。

答案 2 :(得分:1)

私有只是一种在对象上定义类别的方法。对Apple来说没有多大意义,但我建议在将类别添加到知名库(例如FoundationFramework中的库)时使用唯一名称。如果您的命名约定是AV的前缀,那么添加这样的类别。

@interface AViewController(AVPrivate);

相关问题