2014-04-15 3 views
-2

특정 키에 대해 개체 값을 설정하려고하지만이 이상한 오류가 발생합니다. 또한 setObject 대신 setValue를 사용하려고 시도했으며 routenArray2도 키를 가져 왔습니다.XCode : '인스턴스로 보낸 인식 할 수없는 선택자'

NSMutableArray *routenArray = [[NSMutableArray alloc] init]; 
NSMutableArray *routenArray2 = [[NSMutableArray alloc] init]; 

NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
abfahrt,@"Abfahrt", ankunft, @"Ankunft", dauer, @"Dauer", route, @"Route", kennung, @"Kennung", nil]; 

[routenArray addObject:dict]; 

for (int j = 0; j < routenArray.count; j++) { 

    NSNumber *lNumber = [indexArray objectAtIndex:j]; 
    int l = [lNumber intValue]; 

    if (l == i) { 
      [routenArray2 addObject:[[routenArray objectAtIndex:j] copy]]; 
    } 
} 

NSString *kennungString = [NSString stringWithFormat:@"%d", k]; 

for (int i = 0; i < routenArray2.count; i++) { 
     [[routenArray2 objectAtIndex:i] setObject:kennungString forKey:@"Kennung"]; //this line is the problem 
} 
+1

자세히 오류가 발생했습니다. 로그는 어떻게됩니까? 왜 내가'k'를 볼 수는 있겠지만 선언을 볼 수는 없을까요? –

+0

'NSInvalidArgumentException', 이유 : '- [NSDictionaryI setObject : forKey :] : 인식 할 수없는 선택기가 인스턴스로 전송 됨'오류가 발생했습니다. k는 원래 질문에 * 정확하고 완전한 * 오류 메시지를 포함하지 않고 실패한 행을 식별하지 않기위한 정수 – user3298017

+0

-1입니다. –

답변

1

을 시도 사용을

[routenArray2 addObject:[[routenArray objectAtIndex:j] mutableCopy]]; 

대신

,369을
[routenArray2 addObject:[[routenArray objectAtIndex:j] copy]]; 

copyNSDictionary이며, NSMutableDictionary을 반환하려면 mutableCopy이 필요합니다.

+0

이 작품은 고맙습니다 방금 방금 졸업 한 프로젝트를 마쳤습니다;) – user3298017

+0

도움을 주셔서 감사합니다, user3298017 – AlieN

0

이 시도 :

NSMutableDictionary *newDict = (NSMutableDictionary *)[routenArray2 objectAtIndex:i]; 
[newDict setObject:kennungString forKey:@"Kennung"]; 
+0

죄송합니다 같은 오류 – user3298017

0

할당의 타입 캐스팅을 값

[(NSMutableDictionary *)[routenArray2 objectAtIndex:i] setObject:kennungString forKey:@"Kennung"]; 
+0

도 같은 오류가 발생합니다 .. – user3298017

관련 문제