2013-01-11 2 views
0

오랫동안이 문제로 인해 괴롭혀 왔습니다.사전 개체에서 NSMutableArray로 변환 된 NSString을 추가하십시오.

RSS 파서에서받은 NSString이 있는데, 성공적으로 NSlog로 화면에 표시 할 수 있지만 기존 NSmutablearray에 추가하려고하면 예외가 발생합니다.

여기 내 코드입니다. I 원하는대로 NSLog 모두 MyDate가 및 mystring에까지

//mystring is a NSMutableString with some content initialized succesfully 

NSString *myDate = [dic objectForKey:@"date"]; 
NSLog(@"%@ and %@",myString,myDate); 
[myString appendString:myDate]; 

올바르게 스크린 인쇄되지만 appendString 라인 오류

[ _NSDate 길이] 원인 : 미정 선택기 인스턴스 0 * 7141a00 보냈 'NSInvalidArgumentException'이유 : '[[NSDate length]] : ..........

나를 도와 줄 수있는 사람이 있습니까?

답변

0

-appendString:myDate (으)로 지정하면 문자열이 아닙니다. NSDate입니다. 문자열이 필요한 API에는 전달할 수 없습니다. 어떻게 든 문자열로 변환해야합니다. 이것은 아마도 NSDateFormatter을 사용하는 것이 가장 좋을 것입니다. 이는 날짜를 문자열로 형식화하는 방법을 완전히 제어 할 수있게 해줍니다.

테스트 목적으로 마지막 줄을 [myString appendString:[myDate description]]으로 바꾸면 충돌이 멈 춥니 다.

+0

실제로! NSString이 실제로 NSDate 인 동안 NSString이 dic 객체 날짜가 NSString이라고 생각하도록 나를 바보 취급했기 때문에 myDate를 초기화 할 때 예외가 없었기 때문입니다. NSDate * myDate = [dic objectForKey : @ "date"]로 변경하고 포맷터의 stringFromDate를 사용하면 성공적으로 추가 할 수 있습니다. 포맷터가 작동하지 않으면 포맷터에 Dateformat을 설정하는 것을 잊지 마십시오. – Rookie