2013-07-08 4 views
-2
BOOL isChecked; 

이렇게 부울을 선언했습니다.부울 값 지정 : 기본값

기본값은 입니다.이됩니까? 또는 기본값은 무엇입니까? [하나 가지고 있었나요?]

코드에서 항상 값을 YES 또는 NO로 설정해야합니까?

+0

oops sry tht는 오타였습니다 * –

답변

1

BOOL이 개체가 아니므로 샘플 코드가 아무 곳이나 가리 키지 않는 포인터를 선언하고 있습니다. 제 생각에는 당신이 의미하는 것 같아요 : BOOL isChecked;

예, 직접 초기화해야합니다. 경우에 따라 (전역 변수, 인스턴스 변수) 기본 초기 값은 NO (0)이지만 다른 값 (지역 변수)에서는 정의되지 않습니다.

+1

"globals"와 "locals"이외의 다른 범위가 있습니다. 예를 들어 변수가 인스턴스 변수 인 경우 '0'('NO')으로 초기화됩니다. – trojanfoe

1

일반적으로 BOOL에 대한 포인터를 만들지 않습니다. 포인터이기 때문에 기본 값은 nil입니다. 당신이 그것을 할당하기 전까지는 실제로 BOOL을 가리 키지 않으므로 디폴트가 없습니다.

실제로 BOOL isChecked;을 원하십니까? 기본값은 NO입니까?

+0

의심 할 여지가 있다면 내가 디 셀링하면 'ischecked'의 값은 무엇입니까? –

+0

인스턴스 변수라면 괜찮습니다. 로컬 일 경우 기본값을 선언 할 수 있습니다. – Wain

0

속성을 선언하는 경우 기본 값은 NO입니다. 그렇지 않으면 로컬 인스턴스 변수 인 경우 값을 추측 할 수 없습니다. :)

0

BOOL isChecked가 속성 또는 iVar 인 경우 기본값은 NO입니다. 그러나 그것이 지역 변수라면 그 값은 쓰레기가 될 것입니다.