【发布时间】:2011-06-28 20:23:25
【问题描述】:
我见过一些这样写的代码:
@interface AViewController(Private)
我想知道(Private) 在提交到 App Store 时是否意味着什么?一般是什么意思?
【问题讨论】:
标签: objective-c ios cocoa-touch interface method-declaration
我见过一些这样写的代码:
@interface AViewController(Private)
我想知道(Private) 在提交到 App Store 时是否意味着什么?一般是什么意思?
【问题讨论】:
标签: objective-c ios cocoa-touch interface method-declaration
这是一个名为“私人”的类别。
查看 Objective-C 编程参考的Categories and Extensions 章节
这意味着它是对 AViewControler 类的补充,为了方便起见,它被命名为“Private”。它可以被称为任何东西,甚至可以留空来创建类扩展。
您可以在自己的代码中创建您的应用可以调用的私有方法。这实际上是一种很好的做法,因为它表明了适当的封装(尽管在 Objective-C 中没有私有方法之类的东西)。如果您不希望您的应用被 App Store 拒绝,则不允许在代码中使用 iOS 框架的私有方法。
【讨论】:
(Private) 在这种情况下涉及面向对象编程的原则。
这不一定表示私有 API,这会违反 Apple iPhone 开发者协议。
注意: App Store 审批是非常黑箱的,所以我不能保证这样的代码在审批过程中确实不会导致拒绝。
【讨论】:
(Private)。
Private 只是在对象上定义类别的一种方式。对 Apple 来说意义不大,但我建议在向知名库(例如 FoundationFramework 中的库)添加类别时使用唯一名称。如果您的命名约定是 AV 的前缀,则添加这样的类别。
@interface AViewController(AVPrivate);
【讨论】: