AA- 플롯 차트의 샘플 코드를 다운로드했습니다. .H 파일의인터페이스의 속성 및 개인 및 확장 된 클래스 조합의 혼동
하나 : 인터페이스가 다시 선언 된하는 .m 파일에서
@interface MainViewController : UIViewController <APYahooDataPullerDelegate, CPPlotDataSource> {
CPLayerHostingView *layerHost;
@private
APYahooDataPuller *datapuller;
CPXYGraph *graph;
}
@property (nonatomic, retain) IBOutlet CPLayerHostingView *layerHost;
@end
?
@interface MainViewController()
@property(nonatomic, retain) CPXYGraph *graph;
@property(nonatomic, retain) APYahooDataPuller *datapuller;
@end
위의 코드는 샘플 프로젝트의 기본보기 컨트롤러 코드에서 발견되었습니다.
내가 다음을 수행하면 위 코드와 아래 코드의 차이점은 무엇입니까?
@interface MainViewController : UIViewController <APYahooDataPullerDelegate, CPPlotDataSource> {
CPLayerHostingView *layerHost;
APYahooDataPuller *datapuller;
CPXYGraph *graph;
}
@property (nonatomic, retain) IBOutlet CPLayerHostingView *layerHost;
@property(nonatomic, retain) CPXYGraph *graph;
@property(nonatomic, retain) APYahooDataPuller *datapuller;
@end
나는 비밀스런 카테고리를 통해 귀하의 아이디어를 좋아합니다. –
+1 이것은 코코아 프로그래밍에서 매우 일반적인 패턴입니다. 앞에서 말했듯이 내부 클래스는 클래스 사용자의 접근자를 숨기는 데 사용됩니다. –
()는 실제로 클래스 확장이 아닌 클래스 확장입니다. 구문은 범주 구문과 비슷하지만 다른 출력을 생성합니다. –