컴파일러가 자동으로 ivar를 생성 할 수 있습니다. 구현 파일에서
이 같은 찾아야 다음 아이바 이름이 속성 이름에서 다르기 때문에
@synthesize array;
또는
@synthesize array = _array;
내가 두 번째 경우를 선호을, 그래서 당신이 강제로 사용하기
self.array = anArray;
이와 비슷한 내용은 컴파일되지 않습니다.
array = anArray;
ivar 이름이 _array이므로.
가독성이 낮은지 묻는다면 제게는 그렇지 않습니다. 나는 자동 ivars 세대를 선호한다.
비교 : 더 나은 (더 쉽게 이해하는) 나를 위해
#import <UIKit/UIKit.h>
@interface fubar : NSOjbect {
NSArray *array
}
@property (nonatomic, retain) NSArray *array;
@end
덜 코드 :
#import <UIKit/UIKit.h>
@interface fubar : NSOjbect
@property (nonatomic, retain) NSArray *array;
@end
이와 (I이 경우 그들이 필요하지 않기 때문에 중괄호를 제거).
네,이 예제에서와 같이 어떤 ivar도 갖고 있지 않으면 제거 할 수 있습니다. – Krokodylowy