2010-05-17 3 views
3

나는이 질문에 대한 답을 어디에서나 찾고 있습니다. 아마도 나는 잘못된 곳을 찾고 있습니다. 또한 개발자로서 약 10 년의 경력을 가지고 있지만 Objective C의 새로운 점이 있습니다. 이 코드에 대한초보자 용 목표 C 개발자 질문

:

[receiver makeGroup:group, memberOne, memberTwo, memberThree]; 

어떤 방법 정의의 모습?

- (void)makeGroup:(Group *)g, (NSString *)memberOne, ...? 

도움을 주셔서 감사합니다. 나는 ...이 아마 매우 간단

감사합니다, R

답변

4

것 같습니다.

- (void)makeGroup:(Group *)g, ...; 

체크 아웃 예제 NSStringstringWithFormat: 또는 NSArrayarrayWithObjects: 방법 : 그런 경우, 정의는 같을 것이다.

편집 : 추가 문서를 읽고 나면 Objective-C 2.0 documentation에있는 정확한 예를보고있는 것으로 보입니다. 찾고있는 선언은 36 페이지의 하단에 있습니다.

+0

농담 아냐? 당신은 말 그대로 "..."을 의미합니까? 지금 그걸 시험 할거야. –

+0

빙고 편집 : 나는 아직 그 페이지를 만들지 않았다. 17 페이지에서 전화는 36의 선언에 대한 참조없이 나열되었습니다. 답을하고이 예를 보아 주셔서 감사합니다. –

-1

편집을 알고 : 내가 잘못된 질문에 대답했다. 이것을 무시하십시오.

이 작업을 수행하는 올바른 방법은 다음과 같습니다

-(void)makeGroup:(Group *)g memberOne:(NSString *)memberOne memberTwo:(NSString *)memberTwo memberThree:(NSString *)memberThree { 
    ... 
} 

통화가 같이 표시됩니다 : 당신이 가변 수의 인수를 취 할 수있는 방법을 가지고있는 것처럼

[receiver makeGroup:group memberOne:memberOne memberTwo:memberTwo memberThree:memberThree]; 
+0

OP의 질문과 일치하지 않습니다. 그는 매개 변수의 수가 가변적 인 것처럼 보입니다. –

+0

인수가 n 길이 인 경우 그는 배열을 사용해야합니다. 그러나 위의 대답은 구문에 관계없이 올바른 구문을 가지고 있습니다. – ExitToShell

+1

원본 게시물의 예는 Objective-C 2.0 PDF의 17 페이지에있는 예제와 동일하므로 변수 인수 방법에 대해 묻고 있습니다. –

0

자신의 클래스 방법을 수행하려는 경우 MrHen의 대답을 원하거나 별도로 작성하려는 경우 헤더 파일에 다음과 같이 입력하십시오 :

-(void)makeGroup:(Group *)g; 
-(NSString *)memberOne; 
1

줄임표 (...)와 함께 infinte 번호의 인수를 수신 할 수 있습니다. 자세한 내용은 this을 확인하십시오!

1

-(void)makeGroup:(Group *)g members:(NSArray *)members과 같이 멤버를 별도의 배열 인수로 사용하는 것이 더 적절합니다. varargs (통증)를해야한다면 -(void)makeGroup:(Group *)g members:(NSString *)firstMember, ...과 같이 작성해야합니다.

나는이 문서에서 예제 방법이 선언 될 방법을 알아 내기 위해 노력하고 있기 때문에, 다음과 같이 될 것이다 :

- (void)makeGroup:(id)group, ... 

그런 다음 당신은 그룹의 인수 및 사용으로 varags 기계를 시작할 것 다른 주장을 찾아야합니다.

+0

아, 그렇습니다. 그러나 저는 이것에 대해 매우 새로운 것입니다. 저는 objective-c 프로그래밍 언어 문서를 통해 다음과 같이 작업하고 있습니다. http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual /ObjectiveC/Articles/ocObjectsClasses.html 그리고 메소드 선언을 나열한 코드 스 니펫을 살펴 보겠습니다. –