2013-01-29 2 views
0

У меня есть две метки местоположения на моем первом контроллере представления. Мне нужно, чтобы они отображались на другом контроллере представления при открытии, что это лучший способ реализовать это?Xcode: передача метки во второе представление?

Лейбл я хочу передать выглядеть следующим образом:

latitudeLabel.text = [NSString stringWithFormat:@"latitude=%f", location.coordinate.latitude]; 
longitudeLabel.text = [NSString stringWithFormat:@"longitude=%f", location.coordinate.longitude]; 

ответ

0

Перед тем, как нажать secondViewController вы можете добавить ярлыки, как подвиды зрения второго ViewController в

SecondViewController *cntr = [[SecondViewController alloc] initWithNibName:@"" bundle:nil]; 
[cntr.view addSubview latitudeLabel]; 
[cntr.view addSubview longitudeLabel]; 

[self.navigationController pushViewController:cntr animated:YES] 
1

я создал образец для совместного использования данные между классами. Все, что вам нужно сделать, объясняется. here

0

Вы должны создать идентичные метки на обоих контроллерах представления и d передают только строковые данные. Вы можете передавать параметры из одного класса в другой со свойствами (поскольку они являются общедоступными).

В первом контроллера представления .m:

- (void)openSecondViewController { 
    SecondViewController *controller = [SecondViewController alloc] init]; 
    controller.data = [NSArray arrayWithObjects:@"First String", @"Second String", nil]; 
    [self.navigationController pushViewController:controller]; 
} 


Во второй вид контроллера .h:

@interface SecondViewController : UIViewController 
    @property (weak, nonatomic) id data; 
    @property (weak, nonatomic) IBOutlet UILabel *label1; 
    @property (weak, nonatomic) IBOutlet UILabel *label2; 
@end 


Во втором контроллера представления .m:

- (void)setData:(id)data { 
    self.label1.text = [data objectAtIndex:0]; 
    self.label2.text = [data objectAtIndex:1]; 
} 
Смежные вопросы