Objective-C 프로그램에서 함수 이름 인터페이스 선언 앞에 "+"와 "-"의 차이점은 무엇입니까? 예 :Objective-C의 함수 이름 앞에 "+"와 "-"의 차이
- (void)continueSpeaking;
+ (NSArray *)availableVoices;
무엇이 다른가요?
Objective-C 프로그램에서 함수 이름 인터페이스 선언 앞에 "+"와 "-"의 차이점은 무엇입니까? 예 :Objective-C의 함수 이름 앞에 "+"와 "-"의 차이
- (void)continueSpeaking;
+ (NSArray *)availableVoices;
무엇이 다른가요?
+
는
클래스 메소드는 클래스 자체 클래스,하지 인스턴스에 속하는 클래스 메소드를 정의합니다.
예 : [AppDelegate someMethod]
-
는 인스턴스 메소드
예를 +
방법 클래스 자체에서 작동하는 동안, 그 차이가 -
방법이 개체에서 작동한다는 것이다 설명하기 [[[UIApplication sharedApplication] delegate] someMethod]
한 가지 방법을 정의한다.
- (void)continueSpeaking
은과 같이 호출 할 수 있습니다 : [myInstance continueSpeaking]
는 클래스가 MyClass
지명되었다, 당신은 그것의 인스턴스를 생성하고 myInstance
라는 변수로 저장 말한다. [MyClass availableVoices]
당신은 자바를 생각하고 있습니다. 그것들은 Objective-C에서 _class methods_라고 불리며, 클래스 메소드에는'self'가 있습니다.'self'가 클래스입니다. 예를 들어 클래스에'+ [MyClass someMethod]'와'+ [MyClass someOtherMethod]'메소드가 있다면'someMethod'에서'[someOtherMethod]'를 호출 할 수 있습니다. – Chuck
표준'alloc'은 인스턴스를 반환하는 클래스 메소드이고, init은 인스턴스 메소드입니다. – outis
좋아요, 다른 사람들은 C# brackground를 사용합니다 : + = Static Method – user230910
을 그냥 완료 될 :
그러나,이 방법
+ (NSArray *)availableVoices
만과 같이 호출 할 수 있습니다이 전혀 아이폰 특정 아니라,이 목표 - C이다. –@ user280556 질문에 '대답하지 않음'섹션이 표시되지 않도록 답변을 수락하십시오. –