使用NSMutableArray进行地图注释

时间:2013-02-28 05:43:28

标签: iphone objective-c sdk

我已经用我的XML Praser中的对象填充了一个NSMutablearray。我现在用什么来填充我的Map Annotations。我有这个数组工作我的表,它将对象带入单元格,但我想为我的地图使用相同的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,Latitude,经度,我想基本上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。

1 个答案:

答案 0 :(得分:1)

在Appdelegate中选择分支(NSMutableArray)和

在你的.h文件中获取AppDelegate参考

AppDelegate *appDelegate;

和.m文件在ViewDidLoad方法中写下这行

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

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

...现在你可以在app r中的任何地方使用这个appdelegate.branch(数组)。