인스턴스 변수를 프로퍼티로 선언하게 되면, 자동으로 접근자가 생성되는 등의 장점이 있다.
Clip.h의 인스턴스 변수를 프로퍼티로 선언한 코드 (굵은 글씨)
@interface Clip : NSObject
{
int PlayCount;
NSString *vid;
NSString *title;
NSString *originalURL;
}@property (retain) NSString *vid;
@property (retain) NSString *title;
@property (retain) NSString *originalURL;
+ clip;
- (BOOL) isNewClip;
@end
@property를 이용해서 프로퍼티 정의함. (retain)은 Setter에 입력되는 값을 유지하라는 의미.
Clip.m 수정 코드
@implementation Clip
@synthesize vid;
@synthesize title;
@synthesize originalURL;
- (BOOL) isNewClip
{
return YES;
}
@end
@synthesize는 Setter와 Getter를 자동으로 생성한다.
프로퍼티로 정의하면서 Setter와 Getter를 직접 정의해도 무방하다. 이 때는 직접 정의한 Setter와 Getter가 있으므로 자동으로 생성되지 않는다.
댓글을 달아 주세요