RSS 피드를 구문 분석하는 UITableView에 요약을 추가하려고합니다. 요약을 얻는 방법을 설정했지만 앱이 충돌합니다. 피해자 라인은 다음과 같습니다RSS 피드의 요약 구문 분석으로 인해 앱이 손상 될 수 있습니다.
[item setObject:summary forKey:@"summary"];
충돌 번호 :
2014-05-17 09:32:09.231 ***[1169:90b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: summary)'
*** First throw call stack:
(
0 CoreFoundation 0x0453a1e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x037bd8e5 objc_exception_throw + 44
2 CoreFoundation 0x045c3eb8 -[__NSDictionaryM setObject:forKey:] + 888
3 *** 0x0010367a -[*** parser:didEndElement:namespaceURI:qualifiedName:] + 394
4 Foundation 0x034ac991 _endElementNs + 363
5 libxml2.2.dylib 0x00626788 xmlParseEndTag2 + 744
6 libxml2.2.dylib 0x00628bf8 xmlParseTryOrFinish + 3347
7 libxml2.2.dylib 0x00627cfa xmlParseChunk + 886
8 Foundation 0x034aa8fb -[NSXMLParser parseData:] + 329
9 Foundation 0x034aac17 -[NSXMLParser parseData:] + 1125
10 Foundation 0x034aadf1 -[NSXMLParser parseFromStream] + 287
홈페이지 번호 :
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"item"]) {
[item setObject:title forKey:@"title"];
[item setObject:link forKey:@"link"];
[item setObject:summary forKey:@"summary"];
[feeds addObject:[item copy]];
}
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
element = elementName;
if ([element isEqualToString:@"item"]) {
item = [[NSMutableDictionary alloc] init];
title = [[NSMutableString alloc] init];
link = [[NSMutableString alloc] init];
summary = [[NSMutableString alloc] init];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if ([element isEqualToString:@"title"]) {
[title appendString:string];
} else if ([element isEqualToString:@"link"]) {
[link appendString:string];
}else if ([element isEqualToString:@"summary"]) {
[summary appendString:string];
}
}
문제가 무엇입니까? 나는 코드가 돌아 오는 것이 없다고 말하는 것을 이해할 수있다. 그래서 요약 대신 무엇을 넣어야 하는가?
는 건배, SebOH
는
해야한다. 우리가 아는 것에서 우리가 알 수있는 것은 그것이 없다는 것입니다. – Paulw11
'didStartElement' 메소드도 표시 할 수 있습니까 – Paulw11
업데이트 ^^^^^^^ –