2010-12-28 3 views
0

가능한 중복 :
What do the plus and minus signs mean in Objective C next to a method?의 차이 무엇입니까 - (NSMutableArray를 *) getContactsList와 +는 (있는 NSMutableArray *) getContactsList

내가 가진 방법의 차이 알고 싶어요 - 기호를 와 + symbaol.

예 .- (NSMutableArray *) getContactsList; + (NSMutableArray *) getContactsList;

감사합니다. Praveena.

+2

[메서드 옆에있는 목표 C에서 + 기호는 무엇을 의미합니까? ] (http://stackoverflow.com/questions/2097294/what-do-the-plus-and-minus-signs-mean-in-objective-c-next-to-a-method). –

+0

하나는 인스턴스 메소드이고 다른 하나는 클래스 메소드 – GhostRider

답변

2

두 가지 방법의 차이점은 다음과 같습니다.

"-"로 시작하는 메소드는 인스턴스 메소드입니다. 특정 클래스의 객체를 사용하여 해당 메소드를 호출 할 수 있습니다.

예 :

A *a = [[A alloc] init]; 
array = [a getContactsList]; 

그리고 시작하는 방법은 "+"등급 방법이다. 클래스 이름을 사용하여 해당 메소드를 호출 할 수 있습니다.

예 :

주요 차이점이다
array = [A getContactsList]; 

.

클래스 메서드에서 한 가지 더 사용하면 인스턴스 변수 인 정적 변수 만 사용할 수 있습니다.

감사합니다,

Satya.

+1

클래스 메소드는 통계 또는 전역을 사용할 수 있습니다. 나는 "개인"이라고 가정하고 "보통"은 인스턴스 변수를 의미합니까? 그렇다면 그렇습니다.하지만 적어도 정당한 이름으로 그들을 부르십시오! – bbum

+0

고맙습니다. Satya. – praveena

-1

+를 사용하는 방법은 정적 방법이며, 자동 복구를 사용하여 유지 된 객체를 반환합니다. 이는 객체 소유자가 아님을 의미합니다.

+0

Objective-C에는 "정적"메서드가 없습니다. 클래스 메소드가 있습니다. 클래스 메소드는 자동 회수 된 객체를 반환하는 것은 아닙니다 ('+ new' 참조). – bbum