[英]Are curly braces required in @interface declarations in Objective-c?
以下代碼編譯:
@interface MyClass : ParentClass // missing {
// missing }
@property (nonatomic, copy) NSString *myString;
@end
我想知道@interface
聲明中的花括號是否真的必要。
不, { }
部分不是必需的; 沒有它,您的代碼將可以正常編譯。 這是您聲明實例變量的區域,如果您不這樣做,則可以隨意將其忽略。 您甚至實際上不需要為屬性聲明ivars-編譯器足夠聰明,可以在需要的地方添加它們。
編譯器足夠聰明,可以將@property聲明添加到類中。
這些括號的唯一用途是當您要將變量設為私有,受保護或特別是公開時。
例:
@interface Example: NSObject {
@public
int publicVar;
@private
int privateVar;
int privateVar2;
@protected
int protectedVar;
}
@end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.