【问题标题】:What does @interface DITableViewController (private) mean?@interface DITableViewController (private) 是什么意思?
【发布时间】:2011-01-30 16:37:41
【问题描述】:

我在 iOS SDK 示例代码中找到了以下方法:

@interface DITableViewController (private)
- (NSString *)applicationDocumentsDirectory;
@end

(私人)是什么意思?它是 Objective-C 2.0(Apple 开发)的新语法吗?

提前致谢:-)

【问题讨论】:

    标签: objective-c ios


    【解决方案1】:

    这只是一个category。语法也存在于 ObjC 1.0 中。 “私人”是类别的名称,意思是“仅供私人使用”。这不是关键字。

    定义此类别意味着 DITableViewController 的实例也可以发送消息-applicationDocumentsDirectory,而无需修改 DITableViewController 类本身。

    在 ObjC 2.0 中,最好为私有类别使用类扩展。

    @interface DITableViewController ()
    - (NSString *)applicationDocumentsDirectory;
    @end
    

    (链接的答案提供了更多详细信息。)

    【讨论】:

    • +1 用于提及类扩展(又名匿名类别)。
    【解决方案2】:

    【讨论】:

    • 你提到了扩展类,但你忘了提到类别方法可以替换现有方法,无论你是否打算这样做。
    猜你喜欢
    • 2010-10-25
    • 2021-08-17
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 2011-08-12
    相关资源
    最近更新 更多