2010-01-24 6 views
4

"useSystem"이라고하는 내 핵심 데이터 엔티티에 BOOL 속성을 만들었습니다. 또한 나를 얻기 위해서/객체를 생성 한 데이터를 설정하기 위해서, 합성 BOOL을 설정할 때마다 버스 오류가 발생합니다. 이건 내 코드입니다 :목표 C에서 값을 설정하기 위해 BOOL 합성

@property (nonatomic) const BOOL useSystem; 

그래서

[object setUseSystem:YES]; 

을하고 있어요 그리고 바로 나는 버스 오류가 발생합니다. 누구든지 도와 줄 수 있습니까?

답변

6

사용 [NSNumber numberWithBool:YES]

+1

및 [[Entity isBool] boolValue]를 사용하면 읽을 수 있습니다. – RickiG

1

실제로 속성 유형으로의 NSNumber를 사용하는 것이 더 스타일은 아마입니다. 이것은 또한 xcode에서 모델 편집기를 사용하여 부울 속성을 엔티티에 추가 할 때 발생합니다. 'auto-boxing'이 진행되고 있지만 NSNumber와 같은 상위 수준의 Objective-C 유형과 래퍼를 사용할 때 항상 문제가 적은 것으로 보입니다.

0

메서드를 명시 적으로 선언했지만 @synthesize와 함께 작동하지 않을 경우이 방법이 효과적입니다. 전에이 작업을 해본 것처럼 보였지만 어쩌면 방금 mutator 메서드가없는 BOOL을 사용했을 수도 있습니다. @property가 선언 한 메소드를 정의하면 @synthesize없이 @property를 사용할 수 있습니다.