Sam*_*Sam 4 objective-c nsstring ios uistoryboard
我有两个ViewControllers,它们没有(直接)与Segue连接.但我想在第二个VC中更改一个字符串,我在第一个中获取.我的尝试是:
#import "secondViewController.h"
@interface firstViewController ()
@property NSString* originalString;
@end
@implementation firstViewController
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
secondViewController* svc = [secondViewController new];
svc.anotherString = self.originalString;
}
Run Code Online (Sandbox Code Playgroud)
但它起作用,因为我只创建了第二个VC的实例,因此没有保存该值.我也不能使用Storyboard ID,因为我使用的是Xcode 5.
我有一个menuVC,你可以从中获得firstVC和secondVC.从第一个VC我可以返回(使用navigationbackbarbutton)到菜单.所以:menu-> firstVC-> menu.菜单 - > secondVC - > ...->菜单
我尝试使用StoryboardID:
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
secondViewController* svc =[[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"secondVCSrorybradID"];
svc.anotherString = self.originalString;
}
Run Code Online (Sandbox Code Playgroud)
小智 11
您可以使用此代码将字符串传递给第二个视图控制器.
secondViewController* svc =[self.storyboard instantiateViewControllerWithIdentifier:@"Your Second VC's Storyboad ID"];
svc.anotherString = self.originalString;
[self presentViewController:svc animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
//你必须在第二个View Controller的.h文件中创建anotherString属性.
现在你可以将originalString的字符串输入到第二个VC.现在你可以将这个值从第二个VC恢复到第一个VC.
希望这能帮助你.
| 归档时间: |
|
| 查看次数: |
20868 次 |
| 最近记录: |