2017-04-05 2 views
5

Objective-C 코드에서 becomeFirstResponder 함수 호출에 대해이 경고를 받기 시작합니다. 기능의"warn_unused_result"속성으로 선언 된 함수의 반환 값을 무시합니다.

무시 반환 값은 "warn_unused_result"속성

[self.phoneNumberField becomeFirstResponder]; // warning here!!! 

여기에이 경고를 억제하는 가장 좋은 방법은 무엇입니까 선언?


편집 : 나는 또한

BOOL ignore = [self.emailField becomeFirstResponder]; 

하지만 그와

이 엑스 코드를 사용하지 :(


내가이,

시도 변수 ignore에 대해 경고하고있다,이 시도
BOOL ignore = [self.phoneNumberField becomeFirstResponder]; 
if (ignore) { 

} 

T 그는 경고가이 경우에 사라졌습니다. 그러나 나는 내 자신의 코드 검토를 지나칠 수 있다고 생각하지 않는다. 너무 추한구나!

+2

절대 코드를 이미지로 추가하지 마십시오. 텍스트로 만드십시오. –

+2

실제로 반환 값을 확인하고 '아니오'를 반환하면 처리 할 수 ​​있습니다. – rmaddy

+0

@ AminNegm-Awad 그것을 지적 해 주셔서 감사합니다. 이미지 대신 텍스트로 업데이트했습니다. –

답변

19

표현식을 void 표현식으로 형변환해야합니다.

(void)[self.emailField becomeFirstResponder]; 

(심지어 내가 경고를 재현 할 수없는 그러나이 경고 플래그에 달려 있습니다..) 당신의 편집으로

:

BOOL ignore = [self.emailField becomeFirstResponder]; 

가능성이

BOOL ignore = [self.emailField becomeFirstResponder]; 
ignore = ignore; 
// or 
(void)ignore; 

해야 경고를 제거하십시오. (그것은 내 깃발과 관련이 있습니다.) 그러나 이것은 추한 해킹이기도합니다.

BTW : 속성에 대한 이유가 있습니다. 어쩌면 반환 값을 테스트하지 않는 것이 좋은지 다시 확인해야합니다.

+0

xD 아주 똑똑한 대답, 고마워. –