Xcode4 - 在头文件中声明一个对象

时间:2011-08-06 08:04:42

标签: ios xcode4

例如,我在接口括号{}中声明了一个对象,如:

@interface testViewController : UIViewController {
    IBOutlet UILabel * myLabel;
}
@property (retain, nonatomic) UILabel *myLabel;

@end

和示例二,我声明了一个在曲面括号{}之外的对象,如:

@interface testViewController : UIViewController {
}
@property (retain, nonatomic) IBOutlet UILabel *myLabel;

@end

我运行代码并且结果是一样的,所以我想问一下在接口括号{}内部或外部的对象decalare有什么不同?

由于

2 个答案:

答案 0 :(得分:1)

现代Objective-C运行时(64位Mac OS X和iOS)将在您@synthesize时为您声明的属性生成后备存储。所以你不需要在大括号内声明它们。

如果您声明的iVar不是属性且仅由类使用,则需要声明它们。标记这些@private例如

是个好主意
@interface MyClass : NSObject {
@private
    NSString *privateString;
}
@property (nonatomic, copy) NSString *publicString; // be sure to @synthesize this
@end

答案 1 :(得分:0)

在第二个示例中,您只声明一个属性。 Xcode会自动声明对象。