애플의 설명서를 참조하십시오. 헤더 밖에서 비공개로 유지하려는 속성 및 메서드를 선언하고 읽기 전용으로 공개적으로 읽기 전용 속성 및 메서드를 비공개 읽기 쓰기로 다시 선언하는 데이 메서드를 사용합니다. 이렇게하면보다 깔끔한 캡슐화가 가능합니다. 요청에 의해
친근한 예 :
JYDuckPondManager.h
@interface JYDuckPondManager : NSObject
@property (nonatomic, assign, readonly) NSUInteger duckCount;
@property (nonatomic, assign, readonly) CGFloat waterLevel;
- (JYDuckReaction *)feedDucks:(JYDuckFood *)food;
- (JYDuckReaction *)harassDucks:(JYDuckTaunt *)taunt;
@end
JYDuckPondManager.m (내선 생략 허수 구현)
@interface JYDuckPondManager()
//// Redefined for internal modification
@property (nonatomic, assign, readwrite) NSUInteger duckCount;
@property (nonatomic, assign, readwrite) CGFloat waterLevel;
//// Internally exclusive properties
@property (nonatomic, strong) NSSet *duckPersonalitySet;
@property (nonatomic, assign) CGFloat flockAnxietyLevel;
//// Private messages
- (void)recalculatePondState;
@end
다른 물체와 상호 작용할 수 있어야 연못이지만, 연못에서 진행되는 어떤 일들을 알거나 연못의 통계를 재정의하기로되어 있지 않습니다. .m 확장자에 너트와 볼트를 넣으면 .h가 간결하고 적절하게 제한됩니다.
이 기능이 필요한 일반적인 용도는 무엇입니까? – spankmaster79
예를 들어 편집되었습니다. :) –
+1 오리를 사용하는 경우 ;-) – spankmaster79