객관적인 C에 익숙하지 않은데 새로운 ARC 컴파일러로 코드를 컴파일 할 때 out 매개 변수를 사용하여 메서드를 만들고 호출하는 방법을 모르겠습니다.ARC의 매개 변수 출력 Objective C
이것은 ARC가 아닌 목표 C에서 수행하려고 시도한 것입니다 (어쨌든 이것은 잘못된 것입니다).
//
// Dummy.m
// OutParamTest
#import "Dummy.h"
@implementation Dummy
- (void) foo {
NSString* a = nil;
[self barOutString:&a];
NSLog(@"%@", a);
}
- (void) barOutString:(NSString * __autoreleasing *)myString {
NSString* foo = [[NSString alloc] initWithString:@"hello"];
*myString = foo;
}
@end
(의견이 일치하도록 수정 됨). http://clang.llvm.org/docs/AutomaticReferenceCounting.html
...하지만 어려운, 올바른 아무것도 신경 쓰지 컴파일 아무것도 얻을 발견하고 내가 여기 설명서를 읽은
. 누구든지 ARC 목적 C에 적합한 방식으로 위의 코드의 jist를 다시 작성할 수 있습니까?
정확히 무엇이 문제입니까? 어떤 컴파일러 오류가 발생합니까? –
위의 코드 샘플을 제안 사항으로 업데이트하고 컴파일러 오류 집합을 포함 시켰습니다. 감사. – Ben
업데이트 된 답변보기 컴파일러가 말했듯이, 당신은 간접적 인 포인터를 사용할 수 없다. 대신'& a'를 직접 전달해야한다. –