문제

내가 이해했듯이 @synthesize는 실제로 게터와 세터를 생성하고 있습니다. 그러나 @property는 무엇을하고 있습니까? Cool @Synthesize Magic 기능의 매개 변수를 설정합니까?

도움이 되었습니까?

해결책

헤더 파일에 @property를 씁니다

@property float value;

다음과 같습니다.

- (float)value; 
- (void)setValue:(float)newValue; 

다른 수업에 대한 정보를 얻습니다. 수업에는이 방법이 있습니다.

@synthesize phisicaly 클래스 구현에서 이러한 방법을 만듭니다

다른 팁

@property 이름을 속성으로 선언합니다. 즉, DOT 구문을 통해 액세스 할 수 있습니다.object.value).

@synthetize getter 및 setter 방법을 생성하는 매크로로 볼 수 있습니다. 입력하더라도 해당 메소드를 무시할 수 있다는 것을 아는 것이 유용합니다. @synthetize 제자리에.

@property Getter 및/또는 Setter를 선언합니다

@synthesize 그들을 구현합니다.

@property 지시문으로 생성 된 세터와 게터를 구현하려면 @synthesize 지침이 필요하다는 일반적인 오해가 있지만 그렇지 않습니다. @synthesize없이 @property 지시문을 사용하면 여전히 세터/getters가 생성되며 DOT 표기법을 사용할 수 있습니다. 그러나 @synthesize 지시문을 제외하면 컴파일러가 선행 밑줄 문자로 해당 인스턴스 변수를 생성하게됩니다.

선행 밑줄을 사용하는 것은 속성과 인스턴스 변수를 구별 할 수있는 공통 규칙입니다. 속성 및 인스턴스 변수가 동일한 이름을 공유하는 것이 일반적입니다. @synthesize가 기본적으로하는 일입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top