我一直在寻找将标签数据传递给另一个视图控制器,并找到了以下解决方案。但是,它不会在另一个视图控制器中显示标签文本。
请帮助
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];
}
答案 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