Objective-c 中的 @interface 声明中是否需要大括号?
下面的代码编译:
@interface MyClass : ParentClass // missing {
// missing }
@property (nonatomic, copy) NSString *myString;
@end
我想知道 @interface 声明中的大括号是否实际上是必要的。
The following code compiles:
@interface MyClass : ParentClass // missing {
// missing }
@property (nonatomic, copy) NSString *myString;
@end
I'm wondering if the curly braces in @interface
declarations are actually necessary.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,
{ }
部分不是必需的;没有它你的代码也能正常编译。这是您声明实例变量的区域,如果您不这样做,您可以将其省略。您实际上甚至不需要为您的属性声明 ivars — 编译器足够智能,可以将它们添加到需要的地方。No, the
{ }
section isn’t necessary; your code will compile fine without it. It’s the area where you declare instance variables, and if you’re not doing that, you’re free to leave it out. You don’t even actually need to declare ivars for your properties—the compiler’s smart enough to add them where they’re needed.编译器足够聪明,可以将您的 @property 声明添加到类中。
这些括号的唯一用途是当您想要将变量设为私有、受保护或特别公开时。
例子:
The compiler is clever enough to add your @property delarations to the class.
The only use for those brackets is when you want to make a variable private, protected or specifically public.
Example: