2012-05-22 2 views
0

에서 키 - 값 코딩에 대한 키를 설정합니다. 그것은 내가 mysql 데이터베이스에서 데이터를 가져 와서 mycallback에 보냅니다. 그래서 열쇠가 무엇인지 모르겠다. 그리고 그 외에도 mycallback 클래스 내에 인스턴스 변수를 선언하고 싶지는 않습니다. 분리되기를 원하기 때문입니다. 동적 I 클래스라는 mycallback이 목표는 -c 아이폰

exception 'NSUnknownKeyException', reason: '[<CallbackClass 0x7b6c5d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key fence.' 

그래서 내가 동적으로 내부 mycallback을 키를 설정하지만 원하는 : 같이 위의 코드를 실행하는 경우

불행하게도,이 메시지가 나타납니다. 그래서 NSDictionary에 대한 범주를 작성하고 valueForUndefinedKey 방법 추가

- (id)valueForUndefinedKey:(NSString *)key 
{ 
    NSLog(@"This key not being called %@", key); 
    return nil; 
} 

을하지만, 1) valueForUndefinedKey가 호출되지 않고, 2) 그 오류가 멀리 갈 수 있도록 거기에 넣어 모르겠어요.

답장을 보내 주셔서 감사합니다.

+0

내가 원래 상태로 다시 질문을 출시했다. 귀하의 수정으로 완전히 다른 질문이되었고, 아래의 답변은 적용되지 않습니다. 그것은이 질문에 오는 다른 누구에게나 혼란스럽게 만듭니다. 기존 질문을 근본적으로 변경하는 대신 새로운 질문을하십시오. – Abizern

답변

0

valueForUndefinedKey:을 반환 값을 처리하는 것으로 정의했습니다. 그러나 코드 조각에서 정의되지 않은 키 값을 설정하려는 것처럼 보입니다. 이 경우, 사용하는 방법은 다음과 같습니다

setValue:forUndefinedKey: 

예, 그것은 당신이하려고하는 모양을 기반으로 :

- (void)setValue:(id)value forUndefinedKey:(NSString *)key { 
    NSLog(@"Attempting to set value: %@ for key: %@", value, key); 
} 
+0

Im의 종류는 여전히 질문의 두 번째 부분에 붙어 있습니다. nsobject에서 상속받은 콜백 클래스에 NSMutableDictionary 유형의 callbackData라는 인스턴스 var가 있습니다. 위 메소드를 콜백 클래스에 추가 한 다음 키 및 값을 인스턴스 var : [callbackData setObject : value forKey : key]에 설정합니다. 그러나 오류는 여전히 제기됩니다. – JohnMerlino

+0

아비 젠 (Abizern) 나는 내 처지를 더 잘 설명하기 위해 나의 질문을 업데이트했다. – JohnMerlino

관련 문제