我不能完全弄清楚我所看到的被称为一个Objective-C“级的延续”。 这是/是这些...
- 伊瓦尔(S)在声明
@implementation
( .m
)文件? - 另一名一类类? (可能性很小,ASFAIK类别不能有IVARS,周期)
- 另一名一类的扩展?
- 别的东西?
这就是说...
- 范围是什么,生命周期,并为这样的事情的使用情况?
- 这是一个特定的ARC-“功能”?
- 有没有具体的运行时间,或供其使用其他的要求吗?
- 这是一个合适的地方创建一个
@property
,以及? 为什么会这样设置的ivars或性能比,也就是说,在一个更好的地方@interface
文件/申报? - 这似乎没有任何官方文件(我能找到)的存在 - 人们为什么要使用这种专用术语复杂化的讨论?
在问题在Objective-C是什么在头文件中定义的东西(比如一个属性),而不是.m文件之间的差异? 讨论触及了这个问题,但那种只是使问题变得更加 - 或者至少不能提供该术语的标准基准/定义......因此这个问题。
延续一类就是苹果称之为一个类扩展 。 我已经看到了铿锵称他们为“补习班”和GCC使用“类延续”。
在铛或GCC编译如下:
@interface Foo : NSObject
@property int a;
@end
@interface Foo()
@property float a;
@end
......,你会得到与古怪名字的错误。
要回答你的问题的其余部分:
- 范围是什么,生命周期,并为这样的事情的使用情况?
扩展用于声明一个类专用接口。 你也可以用它来重新声明(细化)公共属性声明。
- 这是一个特定的ARC-“功能”?
没有。
- 有没有具体的运行时间,或供其使用其他的要求吗?
类扩展是一个编译时的概念,不需要特殊的运行时。 当然,他们需要支持他们(包括铛和gcc在当前版本做)的编译器。
- 这是一个合适的地方创建一个@property,以及? 为什么会这样设置的ivars或性能比,也就是说,在@interface文件/声明一个更好的地方吗?
是。 因为你可能希望有私人性质。
- 这似乎没有任何官方文件(我能找到)的存在 - 人们为什么要使用这种专用术语复杂化的讨论?
那么,你知道...我也宁愿仿佛整个世界都讲英语,但暂时我很高兴的是,我必须了解它在学校。