@interface DITableViewController(private)是什么意思?

我在iOS SDK示例代码中find以下方法:

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

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

提前致谢 :-)

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

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

在ObjC 2.0中,最好将类扩展用于专用的类别。

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

(链接的答案提供了更多的细节。)

语法(category)被用作子(category)的替代。 它们提供了一种将方法添加到类中的方法,即使是标准类,如NSString

http://macdevelopertips.com/objective-c/objective-c-categories.html

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocCategories.html%23//apple_ref/doc/uid/TP30001163-CH20-SW1