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

标签 objective-c ios

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

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

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

提前致谢:-)

最佳答案

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

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

在 ObjC 2.0 中,最好对专供私有(private)使用的类别使用类扩展。

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

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

关于objective-c - @interface DITableViewController (private) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844040/

相关文章:

html - 需要解码为 html 中的空格和其他特殊字符

ios - 如何在 Xcode 11 上运行不同版本的 iOS 模拟器?

objective-c - 标签不改变倒计时器 SpriteKit Objective C?

iphone - 带有变量的 NSURL 中的空格不会加载

ios - 无效的 IAP 产品标识符

ios - 将类别从主应用添加到 Apple Watch 扩展

ios - UINavigationController - 应用程序试图在目标上推送一个 nil View Controller ,我错过了什么?

ios - "dyld: Library not loaded"错误

ios - 在 Storyboard中添加一个 View Controller

iphone - 使用对象按字母顺序对 tableview 进行排序并显示按字母顺序排列的 tableview 标题,如通讯录