7
상당히 간단한 질문 :의 Obj-C : NSError initialiser에서
내가 잘못 될 수있는 잠재력을 가지고 내 클래스의 init 메소드가 있습니다. 그럴 경우, "nil"을 반환 할 계획이지만 오류를 반환하고 싶습니다. init 메소드에 NSError ** 매개 변수를 사용하는 것은 나쁜 습관입니까? 내 메소드 선언은 다음과 같이 보일 것이다 :
- (id) initWithArgs:(NSString*) args andError:(NSError**)error;
많은 감사를 닉
한 가지는 항상에 오류가 설정됩니다 메서드의 시작 부분에 nil. 호출자가 그것을 0으로 설정한다는 보장은 없습니다. – EricS
@EricS 오류가없는 한'error'를'nil'으로 설정할 이유가 없습니다. 메소드가'nil'을 반환하지 않는 한 호출자는 절대로'@ error' 값을 보지 않아야합니다. 그렇지 않으면 버그가 있습니다. @Caleb는'error'에 할당하기 전에'error'가 NULL이 아닌지 검사해야합니다. – bbum
@bbum 감사합니다. – Caleb