0
NSXMLParser를 사용하여 Objective-C의 rss 피드를 구문 분석하고 있습니다.xml을 구문 분석 할 때 'appendString : 불변 개체 변경 시도'오류가 발생했습니다.
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>My RSS</title>
<description>My Rss parser</description>
<item>
<title>Some kind of a title</title>
<description>
<![CDATA[]]>
</description>
<media:thumbnail url="http://www.example.org/pics/Thumbs/picture.jpg"/>
<pubDate>Tue, 20 Jan 2015 22:24:56 -0500</pubDate>
</item>
</channel>
</rss>
그리고 내 NSXML 위임은 이것이다 : 이 RSS는이 유사하다 이미 필요한 모든 변수를 선언 한
- (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];
pubDate = [[NSMutableString alloc] init];
}
if([element isEqualToString:@"media"]){
imageLink = [[NSMutableString alloc] init];
imageLink = [attributeDict objectForKey:@"url"];
}
NSLog (@"Parse did Start");
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if ([element isEqualToString:@"title"]) {
[title appendString:string];
} else if ([element isEqualToString:@"media"]) {
imageLink = string;
} else if ([element isEqualToString:@"pubDate"]) {
[pubDate appendString:string];
}
NSLog(@"Found characters");
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"item"]) {
[item setObject:title forKey:@"title"];
[item setObject:imageLink forKey:@"media"];
[item setObject:pubDate forKey:@"pubDate"];
[feeds addObject:[item copy]];
}
NSLog(@"Did end elements");
}
- (void)parserDidEndDocument:(NSXMLParser *)parser {
[self.tableView reloadData];
NSLog(@"Parsing is done");
NSLog(@"%@", title);
}
. 당신이 본 것처럼 내가 rss 요소에 대한 속성 형식으로 제시된 링크를 구문 분석하려고합니다. 이 작업을 수행하기 전에 앱이 정상적으로 작동했지만 이미지 imageLink = [attributeDict objectForKey:@"url"];
"appendString을 사용하여 변경 불가능한 객체를 변경하려고 시도했습니다."라는 버그가 나타났습니다.
당신은 어떻게 생각하십니까? 당신이 (가) 인 NSMutableString 촬영했다으로
A.으로 대체해야; B. Stacktrace 포함 게시 오류 보고서를 게시합니다. C. 게시물의 코드를 조정하십시오. 감사합니다. –