2012-03-01 3 views
0

헤더 파일 대신 클래스 파일에 메소드 프로토 타입을 설정했습니다. 헤더 파일을 사용해야한다면 실제로 차이가 있는지 잘 모르겠습니다.iPhone 메소드 프로토 타입

프로토 타입을 이와 같이 설정하는 데 몇 가지 단점이 있습니까?

#import "SettingsViewController.h" 

@interface SettingsViewController() 

    - (void)syncSettings; 

@end 

@implementation SettingsViewController 

- (void)syncSettings 
{ 
    // Code Here 
} 

// Other Methods 

@end 
+0

가능한 [@hface와 @end를 지정하는 .h 파일 및 .m 파일의 선언 방법 간의 차이] (http://stackoverflow.com/questions/8196170/difference-between-declaring-methods-in- h-file-in-m-file-specify-inter) –

답변

2

.m으로 제한하는 항목은 다른 .m 파일에 표시되지 않습니다. 따라서 일반적으로 게시하려는 인터페이스 기능 만 사용자 인터페이스에 삽입하는 것이 유리합니다. 개인용으로 유지하려는 메소드를 넣지 말고 인스턴스 변수를 입력하지 마십시오.

공개되지 않은 인터페이스의 구현 세부 사항을 유지하는 데는 단점이 없습니다.

+0

고맙습니다. – Vikings

1

@ 토미는 확실히 맞습니다. 이 메소드는 보이지 않지만 진취적인 (읽기 : 위험한) 프로그래머는 여전히이 메소드를 사용할 수 있습니다. Objective-C는 강제적 인 개인 메소드에 대한 개념이 없습니다.

그리고는 참고로, 구조물 @interface MyClass()클래스 확장 또는 클래스 계속이라고합니다. 나중에 더 궁금한 사항이 있으면 올바른 용어가 도움이 될 것입니다.

+0

정보 주셔서 감사합니다 – Vikings

+0

그것은 내 기쁨이었습니다. –