ivars必须用花括号括起来吗?

时间:2014-04-26 22:21:29

标签: objective-c instance-variables nsobject

是否必须将实例变量括在大括号中?或者只是惯例?

例如:

#import <Foundation/Foundation.h>    

@interface Person : NSObject
{
    NSString *name;
    int age;
}

2 个答案:

答案 0 :(得分:4)

是的,花括号需要声明实例变量。在@interface或@implementation行标记实例变量声明之后立即使用大括号括起来。如果省略了大括号,则只需声明全局变量。

答案 1 :(得分:1)

花括号和随附的块用于声明Objective-C类的实例变量,并遵循@interface@implementation声明。

您可以在这些块之外声明变量,但它们将使用原始C语义 例如,Objective-C有实例和类方法,但它没有明确的类变量概念
你仍然可以使用带有C语义的类变量。

static NSMutableArray *myClassList;

@implementation Person
{
    // this block is actually optional
}

// instance methods
// ...

@end