У меня есть приложение mapkit, в котором я создал собственный вид выноски. Я не могу заставить ярлыки обновляться. Вот мои настройки:
У меня есть собственный класс аннотаций под названием VendorAnnotation с 5 строковыми свойствами (телефон и 4 адресные строки). Объекты VendorAnnotation имеют свой RightCalloutAccessoryView, установленный в UIButton. В методе делегата:
`(void)mapView:(MKMapVIew *)mapView annotationView:(MKAnnotationView *)view calloutAccessroyControlTapped:(UIControl *)control{}
Я получаю доступ к 5 строкам через свойства аннотаций:
VendorAnnotation v = (VendorAnnotation *) view.annotation;
Тогда у меня есть:
DetailViewController *detailVC = [[DetailViewController alloc] initWithDetails:v.phone add1:v.add1 add2:v.add2 add3:v.add3 add4:v.add4];
По шагам я знаю, что на данный момент эти свойства строки (v. *) Имеют точные значения.
Проблема в том, что этот метод initWithDetails не устанавливает текст метки. Вот мой код для класса DetailViewController:
DetailViewController.h:
@interface DetailViewController : UIViewController
{
IBOutlet UILabel *_phone;
IBOutlet UILabel *_add1;
IBOutlet UILabel *_add2;
IBOutlet UILabel *_add3;
IBOutlet UILabel *_add4;
}
- (id)initWithDetails:(NSString *)p add1:(NSString *)a add2:(NSString *)aa add3:(NSString *)aaa add4:(NSString *)aaaa;
@end
DetailViewController.m:
#import "DetailViewController.h"
@implementation DetailViewController
- (id)initWithDetails:(NSString *)p add1:(NSString *)a add2:(NSString *)aa add3:(NSString *)aaa add4:(NSString *)aaaa
{
self = [super init];
if (self) {
[_phone setText:p];
[_add1 setText:a];
[_add2 setText:aa];
[_add3 setText:aaa];
[_add4 setText:aaaa];
}
return self;
}
Не знаю почему, но свойство text меток никогда не устанавливается в соответствующие строки. Пожалуйста помоги. Я знаю, что это что-то глупое, я новичок в программировании на C и iOS, но не вижу проблемы. Вероятно, я должен упомянуть, что я связал метки на .xib в IB с соответствующими свойствами IBOutlet.