如何将标签数据传递到第二个视图控制器中的另一个标签

时间:2015-06-06 19:04:14

标签: objective-c uilabel pushviewcontroller

我一直在寻找将标签数据传递给另一个视图控制器,并找到了以下解决方案。但是,它不会在另一个视图控制器中显示标签文本。

请帮助

SecondViewController标头

@interface SecondViewController : UIViewController 
{
    IBOutlet UILabel *copy;
}

@property (nonatomic, retain) NSString *data;

在SecondViewController实现中

copy.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth| UIViewAutoresizingFlexibleBottomMargin;
copy.textAlignment = NSTextAlignmentCenter;
copy.text = [NSString stringWithFormat:@"Your data: %@", _data]; // Make use of the exposed data property
[self.view addSubview:copy];

在FirstViewController实现中

- (void)passDataForward
{
    SecondViewController *secondViewController = [[SecondViewController alloc] init];
    secondViewController.data = _label.text; // Set the exposed property
    [self.navigationController pushViewController:secondViewController animated:YES];
}

2 个答案:

答案 0 :(得分:1)

<强> 1。将字符串内容保存在第一个实现文件中,并将其加载到第二个

在第一堂课中保存你的label.text:

[[NSUserDefaults standardUserDefaults] setObject:Label.text forKey:@"Your key"];

将它加载到第二课:

Label.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"Your key"];

<强> 2。使用参数

在第一堂课中,你必须实施第二堂课 #import "SecondClassName.h"
在第二个类中创建一个带参数的函数。

- (void)setLabelText:(NSString *)LabelText
{
    Label.text = LabelText
}

在第一堂课中,您通过添加以下两行来传递数据:

SecondViewControllerName *Second = [[SecondViewControllerName alloc] init];
[Second setLabelText:label.text];

答案 1 :(得分:1)

最好通过NSString然后NSUserDefaults。只是为了传递数据,如果你使用NSString

会更好
SecondViewController *secondViewController = [[SecondViewController alloc] init];
secondViewController.Stringdata = _label.text; // Set the exposed property
[self.navigationController pushViewController:secondViewController animated:YES];
  

在SecondViewController中

@interface SecondViewController :UIViewController
{

}    
@property (nonatomic, retain) NSString* name;
  

在标签中设置文字的位置,您可以使用

Label.text = Stringdata