доступ к массиву из plist для отображения координат в виде карты - PullRequest
0 голосов
/ 26 июля 2011

У меня есть табличное представление, которое опускается на несколько уровней.На последнем уровне находится табличное представление с информацией (которая взята из plist) об элементе, который был выбран.

Я хочу нажать на одну из ячеек, чтобы запустить новое представление, Mapview, чтобы показатькоординаты, которые хранятся в листе.

Я могу добавить вид и получить основы работы с картой, но у меня возникают проблемы с доступом к координатам, которые хранятся в списке.

Я искал руководство для других веб-сайтов, и они получают доступ к списку из viewdidload в mapviewcontroller и делают objectforkey, чтобы получить координаты, но мои координаты находятся на несколько уровней ниже, и, поскольку я могусделать indexforpath в viewdidload, есть ли альтернативный способ сделать это?

1 Ответ

0 голосов
/ 26 июля 2011

Я бы сделал это, когда вы выбираете строку в табличном представлении, выбираете objectAtIndexPath и передаете ее в следующее представление (возможно, как объект selectedItem)

тогда, когда вы видите, загрузился, вы можете сделать что-то вроде этого:

-(void)viewDidLoad{
    ...
    CLLocationCoordinate2d coordinate=CLLocationCoordinate2dMake([[self.selectedItem latitude] doubleValue],[[self.selectedItem longitude] doubleValue]);
    ...
}

не видя вашей структуры plist, а также вашей иерархии ViewController, довольно трудно понять, поможет ли этот подход.

редактирование: посмотрев на ваш XML-файл, вы можете перейти к следующему списку:

NSArray *rows=[[NSDictionary dictionaryWithContentsOfURL:<url>] objectForKey:@"Rows"];  
NSArray *children=[[rows objectAtIndex:< >] objectForKey:@"Children"];
NSDictionary *item=[children objectAtIndex:< >];
CLLocationCoordinate2d coordinate=CLLocationCoordinate2dMake([[item objectForKey:@"Latitude"] doubleValue],[[item objectForKey:@"Longitude"] doubleValue]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...