0
我一直在試圖實現NSXMLParser,到目前爲止我有內存問題,性能問題或它不起作用。NSXMLParser和內存管理問題
我原本是從網上的一個例子中工作,它泄漏了一堆內存。我正確地釋放了這些對象,但發現有性能問題,因爲我會爲每個元素分配並釋放每個對象。於是我決定使用哪個工作過更好的性能,但是當我嘗試添加字典數組它不沾:
[overlay insertObject:entry atIndex:[overlay count]];
因此,我有3個問題。屬性是處理內存管理問題的最佳方式嗎?如果是這樣,爲什麼我不能將NSDictionary *條目存儲到覆蓋圖中?如果屬性不是最好的方式是什麼?
乾杯
編輯:我處理相對較小的XML文件,但他們有很多的元素。我已經從一個URL下載它們並將數據放入一個SQLite數據庫。
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if ([attributeDict objectForKey:@"title"]) {
self.title = [attributeDict objectForKey:@"title"];
} else if ([attributeDict objectForKey:@"lng"]) {
self.latitude = [attributeDict objectForKey:@"lng"];
self.longitude = [attributeDict objectForKey:@"lat"];
}
if (title && latitude) {
NSMutableDictionary *entry = [[NSMutableDictionary alloc] init];
[entry setObject:title forKey:@"title"];
[entry setObject:latitude forKey:@"latitude"];
[entry setObject:longitude forKey:@"longitude"];
[overlay insertObject:entry atIndex:[overlay count]];
[entry release];
NSLog(@"%@", overlay);
}
}
沒有被使用的其他代表呼籲,因爲只有數據是屬性。 NSLog最後只返回null。
我更喜歡使用libxml2 – Akusete 2010-07-29 05:09:23
這是什麼意思,「它不粘」?你應該得到調試輸出或應該工作。 – jtbandes 2010-07-29 05:18:49
發佈您的解析器代碼 – slf 2010-07-29 05:19:30