我已经用我的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。
答案 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(数组)。