어떻게 포인터를 메소드에서 param으로 전달합니까? 예 :포인터가 메소드 params - objective-c
-(void) dosomething:(NSString *) simpleString :(NSMutableArray *) pointerToArray;
simpleString 간단 PARAM이고, pointerToArray 배열 포인터이고; 이처럼
어떻게 포인터를 메소드에서 param으로 전달합니까? 예 :포인터가 메소드 params - objective-c
-(void) dosomething:(NSString *) simpleString :(NSMutableArray *) pointerToArray;
simpleString 간단 PARAM이고, pointerToArray 배열 포인터이고; 이처럼
:
이-(void) dosomething:(NSString *) simpleString :(NSMutableArray **) pointerToArray;
(당신의 방법에서 매개 변수 유형
에 두 번째를 '*'추가, 당신은 무언가 같이 할
NSString *localSimpleString;
NSMutableArray *localArray;
[self dosomething:localSimpleString :pointerToArray];
왜 이것을 다운 그레이드 했습니까? 그 해답은 나에게 유효 해 보인다. –
있음 Objective-C, 문자열 및 배열은 모두 클래스입니다. 보시다시피 이미 포인터를 통해 액세스하고 있습니다. 그래서 선언이 말하는 것처럼 단순히 그들을 사용
-(void) dosomething:(NSString *) simpleString :(NSMutableArray *) pointerToArray;
그리고 당신처럼 호출 :
NSString *s = @"Hello, world";
NSMutableArray *a = [NSMutableArray arrayWithObjects: @"Hello", @"silly", @"example", nil];
[yourClass dosomething:s :a];
FWIW, 당신의 방법의 이름은 dosomething::
입니다. 각 매개 변수를 나타내는 것이 관례이다, 그래서 그것을 부를 것이다 :
-(void) doSomethingWithString:(NSString *)greeting array:(NSMutableArray *)strings;
다음 이름이 훨씬 더 읽기, IMO입니다
doSomethingWithString:array:
이다. 은 다음과 같이 호출합니다.
[yourClass doSomethingWithString:s array:a];
모든 개체 변수는 이미 포인터입니다. 당신의 방법으로 정확히 무엇을하고 싶습니까? –