簡體   English   中英

在Objective-c的@interface聲明中是否需要大括號?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM