2013-02-28 107 views
3

对于Objective C来说,我是新来的,对我来说是裸露的。我用我的XML praser中的对象填充了一个NSMutablearray。我现在用什么来填充我的地图注释。我有这个数组为我的表工作,它将对象带入单元格,但我想为我的地图使用相同的NSMutablearray。使用NSMutableArray进行映射注释

//currentBranch is filled with my Objects 
Mapdets *currentBranch = [[xmlParser branch]]; 



[mapview setMapType:MKMapTypeStandard]; 
[mapview setZoomEnabled:YES]; 
[mapview setScrollEnabled:YES]; 

MKCoordinateRegion region = {{0.0, 0.0}, {0.0,0.0 }}; 
region.center.latitude = -33.86434888; 
region.center.longitude = 151.2090236; 
region.span.longitudeDelta = 0.10f; 
region.span.latitudeDelta = 0.10f; 
[mapview setRegion:region animated:YES]; 




//Annotation code will go here. Need help with that. 

好吧所以这就是我在哪里。我有充满了标题,subtile,纬度,经度的对象填充数组,我想基本上xpolde该数组和使用元素。

感谢您的帮助。

我的数组被填充,如果我运行NSLog(@“%@”,currentBranch);

2013-02-28 07:53:53.537 SAMPLE[13642:207] (
    "<Mapdets: 0x754d3b0>", 
    "<Mapdets: 0x754d5c0>", 
    "<Mapdets: 0x754d710>" 
) 

而在我的XMLpraser文件中,我填充它是这样的。

- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 
    if (isStatues) 
    { 
     if ([elementname isEqualToString:@"title"]) 
     { 
      currentBranch.title = currentNodeContent; 


     } 
     if ([elementname isEqualToString:@"street_address"]) 
     { 
      currentBranch.subtitle = currentNodeContent; 
     } 
     if ([elementname isEqualToString:@"lng"]) 
     { 
      currentBranch.lng = currentNodeContent; 
     } 
     if ([elementname isEqualToString:@"lat"]) 
     { 
      currentBranch.lat = currentNodeContent; 
     } 
    } 
    if ([elementname isEqualToString:@"branch"]) 
    { 
     [self.branch addObject:currentBranch]; 
     currentBranch = nil; 
     currentNodeContent = nil; 

这一切的工作,我只是想现在其他类使用的NSMutableArray我的地图中的appDelegate

+0

可能是这可能是一个帮助:http://stackoverflow.com/questions/8711086/adding-multiple-annotations-to-iphone-mapview-is-slow – rptwsthi 2013-02-28 05:48:35

+0

你能告诉我们你的数组内容????你必须在该阵列中拥有字典。 – 2013-02-28 05:49:00

+0

我添加了一些修改后的代码来填充数组。感谢 – Cliffordwh 2013-02-28 06:03:47

回答

1

走科(NSMutableArray)和

在乌尔.h文件中采取的AppDelegate参考

AppDelegate *appDelegate; 

和.m文件在viewDidLoad方法写这下面一行

appDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate]; 

并加这一行[appdelegate.branch addObject:currentBranch];而不是[self.branch addObject:currentBranch];

...现在你可以使用这个appdelegate.branch(Array)任何你在哪里应用程序。