代码之家  ›  专栏  ›  技术社区  ›  Rudiger

NSXMLParser和内存管理问题

  •  0
  • Rudiger  · 技术社区  · 14 年前

    我一直在尝试实现NSXMLParser,到目前为止,我遇到了内存问题、性能问题或者它不起作用。

    [overlay insertObject:entry atIndex:[overlay count]];
    

    所以我有三个问题。属性是处理内存管理问题的最佳方法吗?如果是这样,为什么我不能将NSDictionary*条目存储到overlay中?如果物业不是最好的方式是什么?

    编辑:我正在处理相对较小的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);
    }
    }
    

    1 回复  |  直到 14 年前
        1
  •  0
  •   Rudiger    14 年前

    正如willcodejavaforfood指出的,这是一个简单的问题。因为这不是答案,所以我只能投赞成票。