2010-07-16 60 views
2

以前我以前写我的对象接口是这样的:对象界面布局?

// VERSION 1.0 
@interface Planet : NSObject { 
    NSString *name; 
    NSString *type; 
    NSNumber *mass; 
} 
@property(nonatomic, retain) NSString *name; 
@property(nonatomic, retain) NSString *type; 
@property(nonatomic, retain) NSNumber *mass; 

-(NSString *)description; 
@end 

但我最近发现我也可以写他们这样。我猜测,删除iVars是最近添加到Xcode中的一项新功能。难道我就在想,我应该找对使用版本2.0(虽然我找到了早期版本的额外打字的代价更易读)

// VERSION 2.0 
@interface Planet : NSObject 
@property(nonatomic, retain) NSString *name; 
@property(nonatomic, retain) NSString *type; 
@property(nonatomic, retain) NSNumber *mass; 

-(NSString *)description; 
@end 

加里。

回答

1

使用新的Xcode,编写Objective-C变得越来越简单,但实际上只是在我相信的场景后面添加ivars或综合属性。 (是的,在xcode 4属性默认合成) 真正的方法是VERSION 1.0。 ,版本号2只是一个缩写版本,我不确定它会在没有Xcode的情况下工作。 Xcode已更改,但语言规范不是,我相信。 我希望这可以帮助。

+0

谢谢你,两个版本都在Xcode 3.2.3中工作,但是你需要在两者中都添加@synthesize。它看起来像Xcode 4也会取消@synthesize。非常感谢您的帮助,非常感谢。 – fuzzygoat 2010-07-16 22:11:30