@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