2010-11-25 2 views
1

저는 몇 달 동안 Objective C를 사용해 왔습니다. 아마도 1 %를 알고 있고 그보다 더 적게 이해하고있는 것 같아요. 둘 중 어느 정도 인기가 있습니다. 게임 아웃, 그리고 매일 더 많은 학습.기본 목표 C 속성 정의 및 합성

code.h :

@interface MyClass : UISomething { 
    NSString *myPropName; 
} 

@property (nonatomic, retain) NSString *myPropName; 
@end 

코드

I가 처음 시작

나는 특성을 정의하는 방법은 다음과 같은 속성과 인스턴스 변수에 대해 동일한 식별자를 사용하는 것을 알게 .m

@synthesize myPropName; 

최근 인스턴스 변수의 이름이 속성과 다르게 명명 된 다음에 속성이 인스턴스 변수 i로 설정된 경우 N 구현 :

code.h :

@interface MyClass : UISomething { 
    NSString *_myPropName; 
} 

@property (nonatomic, retain) NSString *myPropName; 
@end 

code.m :

@synthesize myPropName = _myPropName; 

속성과 인스턴스 변수 동일한 식별자를 사용하지 않는 이유가 있는가?

감사합니다. Hanaan

답변

2

은 건물 인스턴스 변수 동일한 식별자를 사용하지 않는 이유가 있는가?

아니요. 어떤 사람들은 인스턴스 변수 앞에 밑줄을 붙이는 관습을 좋아합니다. (나에게 의미가 같다.) 다른 사람들은 부울 변수의 속성 이름을 변경하려면 :

@synthesize isEmpty = empty; 

당신은 또한 재산 (audioPlayer = player)의 인스턴스 변수보다 설명적인 이름을 짧은 식별자를 사용할 수도 있습니다. 그리고 마지막으로 응용 프로그램은 프로토콜과 함께 변수 이름을 변경, 마음에 오는 :

@interface LowLevelAudioPlayer : NSObject <AudioLevelProvider> {…} 

@interface Jukebox : NSObject { 
    LowLevelAudioPlayer *player; 
} 

@property(readonly) id <AudioLevelProvider> levelMeter; 
@synthesize levelMeter = player; 

을 여기에 당신 만의 측면 중 하나에 대한 액세스를 제공하는로 변수의 이름을 변경 유익합니다.