가능한 중복 : 목표 C에서
What do the plus and minus signs mean in Objective C next to a method?메소드의 + 구현은 무엇입니까?
나는 시작부터 프로그래밍, 나는이 같은 방법을 구현되었습니다
-(void)doSomething
을 최근에, 나는이를 보았다 소스 코드 조각 :
+(void)doSomething
+와 -의 차이점은 무엇이며 +는 무엇입니까?
가능한 중복 : 목표 C에서
What do the plus and minus signs mean in Objective C next to a method?메소드의 + 구현은 무엇입니까?
나는 시작부터 프로그래밍, 나는이 같은 방법을 구현되었습니다
-(void)doSomething
을 최근에, 나는이를 보았다 소스 코드 조각 :
+(void)doSomething
+와 -의 차이점은 무엇이며 +는 무엇입니까?
+로 시작하는 메소드는 class 메소드입니다. 즉, 실제 객체 (클래스의 인스턴스)에서는 호출되지 않지만 클래스 자체에서는 호출되지 않습니다.
인 클래스 메서드로 시작합니다. 객체가 아닌 클래스 자체에서 호출하는 경우의 차이점은 무엇입니까? – CoreCode
@CoreCode 클래스의 인스턴스 메서드를 호출 할 수 없습니다. 이러한 메소드를 사용하려면 클래스의 인스턴스가 필요합니다. –
인스턴스 메서드는 객체에서 호출됩니다. 즉, 두 인스턴스의 데이터 구조 값이 다른 경우 동일한 클래스의 각 인스턴스마다 다르게 동작 할 수 있습니다. 그러나 하나의 특정 클래스에서 호출 될 때 클래스 메소드는 항상 같은 종류의 것을 수행합니다 (주어진 동일한 인수와 해당 메소드와 관련된 정적 변수가 수정되지 않은 경우). –
반환 유형 앞에 "+"가있는 메서드는 정적 메서드 (해당 클래스의 개체를 인스턴스화하지 않고 존재 함)가 있음을 나타냅니다. "-"가있는 메소드는 개별 객체와 관련이 있습니다.
일반적으로 Objective C 프로그래머는이를" Java에서와 같이 "정적 메서드"가 아닌 "클래스 메서드"가 될 것입니다. – echristopherson
그래, 나도 알아.하지만 비슷한 방식으로 말하고있어. 사실, 클래스 메서드는 C#, java, C++ 등의 정적 메서드와 동일합니다. ;-) – innuendoreplay
인스턴스 메서드는 -, + –