3

我已经用我的 XML praser 中的对象填充了 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.

好的,这就是我所在的位置。我有一个填充了标题、子图块、纬度、经度的对象的数组,我想基本上 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。

4

1 回答 1

1

NSMutableArray在 Appdelegate 中获取 Branch( ) 和

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

AppDelegate *appDelegate;

并在 .m 文件中的 ViewDidLoad 方法中写下这一行

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

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

...现在您可以在您的应用程序中的任何位置使用此 appdelegate.branch(Array)。

于 2013-02-28T07:18:35.023 回答