인스턴스 변수를 프로퍼티로 선언하게 되면, 자동으로 접근자가 생성되는 등의 장점이 있다.

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가 있으므로 자동으로 생성되지 않는다.

+ Recent posts