2013-12-25 2 views
0

Загружаю 20 различных аннотаций на карту. Когда контакт тронут, я хочу взять данные заголовка так.iOS Как получить выделенный индекс аннотации?

PinModel *pinModel = [self.array objectAtIndex:0]; 
    NSLog(@"pin model %@",pinModel.headline); 

Это захватывает первый из списка, но я хочу, чтобы захватить заголовок, основанный на выводе, что я выбрал. Я поместил метод в метод аннотации didselect. Есть ли способ, с помощью которого я могу определить, какой штырь был выбран, и захватить заголовок на основе этого? Будут оценены любые советы или предложения.

+0

определенно дубликат, но ответы на этот вопрос вид сосать. –

+1

Согласитесь, но дубликат тем не менее. Просто следуйте инструкциям сайта. Не стреляйте в посланника. ;) –

+0

@PatrickGoley, я согласен с вами. В ответах других вопросов прямо не рассматриваются требования этого вопроса. Однако этот вопрос является дубликатом других. – Anna

ответ

1

Один из способов сделать это - реализовать свой собственный класс, который соответствует протоколу MKAnnotation. Добавьте к этому классу общедоступное свойство PinModel, так что ваша аннотация может напрямую привязываться к модели. В своем представлении карты используйте этот новый класс для создания аннотаций и сохранения PinModel в свойстве на вашем пользовательском объекте аннотации. Затем в didSelectAnnotation: верните аннотацию обратно в свой пользовательский класс аннотаций (для обеспечения безопасности, отметьте класс аннотации перед тем, как делать бросок) и получите PinModel непосредственно из свойства в аннотации.

Смежные вопросы