2010-07-16 5 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 

게리를 찾고해야한다는 바로 생각에 I를하고 있습니다.

답변

1

새로운 Xcode를 사용하면 Objective-C를 작성하는 것이 쉽고 짧아지고 있지만 실제로는 ivars 또는 합성 된 속성을 내가 믿는 장면 뒤에 추가하는 것입니다. (예, xcode 4 속성은 기본적으로 합성됩니다.) 실제 방법은 버전 1.0입니다. , 버전 번호 2는 Xcode가 없으면 작동하지 않을 것이라는 확신이없는 축약 된 버전입니다. Xcode가 변경되었지만 언어 사양이 변경되지 않았습니다. 도움이되기를 바랍니다.

+0

두 버전 모두 Xcode 3.2.3에서 작동하지만 두 버전 모두 @synthesize를 추가해야합니다. 또한 Xcode 4는 @synthesize도 제거합니다. 많은 도움을 주셔서 감사합니다. – fuzzygoat

관련 문제