2012-08-23 2 views
1

NSArrayController가 있는데 선택한 개체의 값을 수정하려고합니다. 나는 시도하고 제목을 변경하는NSArrayController 개체의 값을 수정하면 오류가 발생합니다.

[[[ideasListController selectedObjects] objectAtIndex:0] setValue:@"test" forKey:@"title"]; 

를 사용하고 있지만,이 오류가 발생합니다

[<__NSDictionaryI 0x10065e6c0> setValue:forUndefinedKey:]: 
this class is not key value coding-compliant for the key title. 

내가 코코아와 오브젝티브 C로 비교적 새로운 해요, 그래서 내가 수도 두려워 여기서 명백한 것을 놓치지 마라.

+0

사전은 변경할 수 없으므로 변경할 수 없습니다 (<__ NSDictionaryI 0x10065e6c0> 의미). – rdelmar

+0

@rdelmar 그게 뭔지, 그게 내가 대답 할 수 있도록 해줄 수 있겠 니? 잡기에 너무 감사드립니다! – penguinrob

답변

3

합니다 ("I"의 <이 __NSDictionaryI 0x10065e6c0>의 의미를 먹으 렴), 당신이 오류가 발생하는 이유는 그래서 메시지를 변경하려고 할 때

2

이 시도 :

[ideasListController insertObject:[NSDictionary dictionaryWithObject:@"test" forKey:@"title"] atArrangedObjectIndex:0]; 

업데이트 : 귀하의 사전 불변

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; 

[dict setObject:[NSString stringWithFormat:@"test"] forKey:@"title"]; 

[ideasListController insertObject:dict atArrangedObjectIndex:0]; 

[dict release]; 

NSLog(@"%@", [[ideasListController selectedObjects] objectAtIndex:0]); 
+0

이제 '- [__ NSDictionaryI insertObject : atIndex :] : 인스턴스가 0x100584860'으로 전송 된 인식 할 수없는 선택자와 다른 오류가 발생합니다. 이것은 무엇을 의미 할 수 있습니까? – penguinrob

+0

첫 번째 메모와 같은 오류입니다. 나는 당신이 check key로 무엇을 의미하는지 확신 할 수 없다 - 키는 이미 그 안에 문자열을 가지고 있으며, 유효한 키이다. – penguinrob

+0

@penguinrob 업데이트 된 답변을 살펴보십시오. 그리고 첫번째 줄을 시도해보십시오 :'[ideasListController insertObject : [NSDictionary dictionaryWithObject : @ "test"forKey : @ "title"] atArrangedObjectIndex : 0];'. –

관련 문제