理解在@interface声明中使用“(Private)”

我看过一些这样写的代码:

@interface AViewController(Private) 

我想知道,如果(Private)提交到App Store的意思是什么? 这一般意味着什么?

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

查看Objective-C编程参考的分类和扩展章节

这意味着它是为了方便而命名为“Private”的AViewControler类的补充。 它可以被称为任何东西,甚至留空来创build一个类扩展。

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

(Private)在这种情况下处理面向对象编程的原则。

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

注意: App Store的审批是非常黑暗的,所以我不能保证这样的代码在审批过程中确实不会导致拒绝。

私有只是一种在对象上定义类别的方法。 对于苹果来说并不意味着什么,但是我会build议在向FoundationFramework中的众所周知的库添加类别时使用唯一的名称。 如果你的命名约定是AV的前缀,那么添加一个这样的类别。

@interface AViewController(AVPrivate);

Interesting Posts