2012-11-28 3 views
0

웹 서비스에서 데이터를 가져와 코어 데이터에 저장하는 iPhone 앱을 만들고 있습니다. 이러한 모든 속성에는 사전에서 식별 할 수있는 키가 있습니다. 모든 속성이 NSObject입니다.키 값 속성 도움말 IOS

나는 이제 checkMark이라는 웹 서비스에서 가져 오지 않은 속성을 하나 더 추가하기로 결정했습니다. 나는 또한이 방법에 그것을 추가했다. 문제는 다음과 같은 메서드에서 checkMark 속성을 설정하려고 할 때마다 발생합니다. [s setValue:[NSNumber numberWithInt:check] forKey:@"checked"];, smanagedObject 인 경우 오류가 발생하는 경우 "the entity Course is not key value coding-compliant for the key "checked"이 표시됩니다. 이 문제를 어떻게 해결할 수 있습니까?

- (id)initWithDictionary:(NSDictionary *)dictionary 
{ 
    self = [super init]; 
    if (self) { 
     // Set the property values 
     _iD = [[dictionary valueForKey:@"Id"] intValue]; 
     _isCurrent = [[dictionary valueForKey:@"IsCurrent"] boolValue]; 
     _checkMark = [[dictionary valueForKey:@"checked"] intValue]; 
    } 
} 
+0

체크 표시 속성의 종류는 무엇입니까 –

+0

무엇이's'입니까? 그것은 사전인가 다른 것입니까? –

+0

이것은 사전에 "checked"라는 키가 없다는 것을 의미합니다. – rakeshNS

답변

0

"확인 된"키에 대해 코스 키 값 코딩을 준수해야합니다.

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/Compliant.html

는 기본적으로 그게 세터 setChecked:와 게터 checked을해야 함을 의미합니다. 보통은 setter와 getter를 합성하는 속성을 갖는 것입니다.

덧붙여 말하자면, 로그 메시지가 엔터티 코스에 대해 이야기한다는 사실은 나에게 여러분이 dictionary을 호출하고 NSDictionary로 캐스팅하는 것이 실제로 사전이 될 수는 없지만 다른 것, 즉 NSManagedObject. 그냥 추측하면 ... 여기에 실제로 일어나고있는 것을보기 위해 로깅/브레이크 포인트를 할 수 있습니다.

+0

키를 사용하지 않고 속성을 설정할 수있는 방법이있다. 키를 사용하지 않고 [setValue : [NSNumber numberWithInt : check]와 같은 작업을 수행 할 수 있습니까? – Joe24