2010-04-22 6 views
1

나는이 사람들이 여기에 무엇에 비슷한 달성하고자하는 : 당신이 볼 수있는 것처럼참조로 전달 된 포인터 포인터에 값을 할당하는 방법은 무엇입니까?

- (NSUInteger)countForFetchRequest:(NSFetchRequest *)request error:(NSError **)error 

, 당신은 NSError 포인터하고 좋은 방법은이 경우에 포인터로 실제 NSError 객체를 할당 통과 오류. 따라서 이것에 대한 멋진 점은 NSUInteger를 반환하지만 NSError를 반환 할 수 있다는 것입니다. 추악한 배열이나 사전을 사용하지 않아도됩니다.

그래서 전달 된 오류 포인터에 객체를 할당 할 수 있습니까?

답변

5

쉽습니다. This Apple guide은 NSError 개체를 반환하는 메서드를 구현하는 방법을 보여줍니다. 그러나 긴 이야기를 매우 짧게 만들려면

- (NSUInteger)countForFetchRequest:(NSFetchRequest *)request error:(NSError **)error 
{ 
    //Do stuff, including make MyCustomErrorDomain and errCode and eDict. 
    if (error != NULL) { // check to avoid crash if **error is not provided 
     *error = [[[NSError alloc] initWithDomain:MyCustomErrorDomain code:errCode userInfo:eDict] autorelease]; 
    } 
    //Do some more stuff. 
} 

별표에 유의하십시오. :)

+1

이것은 평범한 일상적인 포인터 역 참조입니다. C에 대한 모든 책은 그것을 커버해야합니다. – Chuck

관련 문제