在扩展中声明对象和在主要实现中声明它们之间有什么区别

时间:2013-09-19 07:35:09

标签: ios objective-c extension-methods categories

我正在阅读目标c中的类别和扩展

https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html

它说我可以像这样在扩展中声明对象......

案例1

@interface XYZPerson () {
    id _someCustomInstanceVariable;
}
@end
@implementation XYZPerson {
...
}
...
@end

我已经看到了在implementsaion(.m)文件中声明对象的代码片段,就像这样......

案例2

@interface XYZPerson () {
    ...
}
@end
@implementation XYZPerson {
      id _someCustomInstanceVariable;
}
...
@end

我的问题是:扩展中声明的“_someCustomInstanceVariable”与实现中声明的内容有什么区别。 扩展可用于使对象成为私有,但“id _someCustomInstanceVariable”在第二种情况下也是私有的。

0 个答案:

没有答案