Helo all,
我正在使用以下代码从一个视图控制器移动到另一个视图控制器。
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
secondViewController.str1 = str;
[self.navigationController pushViewController:secondViewController animated:YES];
现在我想将一些数据从一个视图控制器传递给另一个视图控制器,就像一些变量一样。我有这个代码来完成这个任务,但我没有制作另一个视图控制器的实例。我正在使用storyboard启动另一个视图控制器。 / p>
NSString
请告诉我如何以我的方式在视图控制器之间传递数据?
解决方案不起作用
.h
文件中的decalre @property (nonatomic, strong) NSString *UserId;
。
@synthesize UserId;
在.m文件中合成
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"RoloBusinessCard"];
vc.UserId=@"abc";
[self.navigationController pushViewController:vc animated:YES];
导航代码
vc.UserId
但class Outer{
class Inner{
};
vector<Inner> innerList;
};
无法识别。
答案 0 :(得分:2)
您可以借助属性在两个ViewControler之间传递数据。 首先在RoloBusinessCard.h中ViewControler创建一个这样的属性
@property (nonatomic, strong) NSString *str1;
在这个类的.m文件中像这样合成它
@synthesize str2;
现在你可以传递价值
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"RoloBusinessCard"];
vc.str2=str2
[self.navigationController pushViewController:vc animated:YES];
如果您无法在RoloBusinessCard中获得str2
首先用您的Viewcontroller Name替换UIViewController,如下所示
RoloBusinessCard *vc = [storyboard instantiateViewControllerWithIdentifier:@"RoloBusinessCard"];
或
typecase UIViewController就像这样
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"RoloBusinessCard"];
(RoloBusinessCard *)vc1=vc
vc1.str2=str2
[self.navigationController pushViewController:vc1 animated:YES];
希望有所帮助。
答案 1 :(得分:1)
尝试这样,希望它会起作用。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
SecondViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"RoloBusinessCard"];
vc.str1 = str;
[self.navigationController pushViewController:vc animated:YES];
答案 2 :(得分:0)
在第二个视图控制器中创建一个属性
@property (nonatomic, strong) NSString *yourString;
在firstView控制器操作方法中您将在推送方法上创建的视图控制器对象
-(void)btnAtion{
object.yourstring = txtyourfirstvcObject.text
}