Question

Is it mandatory to enclose instance variables in braces? Or is it just convention?

For example:

#import <Foundation/Foundation.h>    

@interface Person : NSObject
{
    NSString *name;
    int age;
}
Était-ce utile?

La solution

Yes, the curly braces are required to declare instance variables. Curly braces right after an @interface or @implementation line mark instance variable declarations. If you omitted the braces, you would simply be declaring global variables.

Autres conseils

the curly braces and the enclosed block are used to declare the instance variables of an Objective-C class, and follow a @interface or @implementation declaration.

You can declare variables outside these blocks, but they will use raw C semantics.
For example, Objective-C has instance and class methods, but it doesn't have a clear concept of class variable.
You can still use class variables, with C semantics.

static NSMutableArray *myClassList;

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

// instance methods
// ...

@end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top