2011-10-16 1 views
1
Implicit conversion of 'BOOL' (aka 'signed char') to 'id' is disallowed with ARC 

으로 허용되지 않습니다 이것은 자동화 된 도구ARC 변환 : 'ID'에서 'BOOL'(일명 '서명 문자')의 아이폰 암시 적 변환 ARC

아크 몇 가지 코드를 마이그레이션 할 때 내가 오류입니다
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(vDidFinish) 
             name:aNotifName 
             object:NO]; 

어떻게 ARC 요구 사항을 준수하는지 확인할 수 있습니까?

답변

6

네 번째 인수 (알림 발신자)에 올바른 유형을 사용해야합니다. Objective-C 오브젝트를 예상합니다. 지정하지 않으려면 NO 대신 nil을 전달하십시오. 후자는 BOOL 유형의 리터럴 값입니다.

+4

만약 당신의 의도가 실제로 객체가 'NO'값을 가진 부울 이어야만했다면 NSNumber에 상자를 넣을 수 있습니다 :'[NSNumber numberWithBool : NO]'. –

+0

@Jean 그러나 'NSNumber'는 알림을 게시하지 않습니다. –

+0

그것은 단지 어리석은 실수였다 :) 감사합니다 모두! – Zsolt