在UIViewControllers之间传递数据

时间:2014-04-09 05:14:51

标签: ios objective-c uiviewcontroller uiwebview pass-data

在我的应用中利用RESideMenu https://github.com/romaonthego/RESideMenu,现在有一个问题是在urlString中传递与列表相关的一些sideMenuViewControll,以便在UIWebView中显示其网页}。

原始代码如下:

case 2: {
    navigationController.viewControllers = @[[self.storyboard instantiateViewControllerWithIdentifier:@"second"]];
    [self.sideMenuViewController hideMenuViewController];
}
    break;

"second"适用于secondViewController,其UIWebView用于在右侧显示网页。 secondViewController有一个属性:urlString

我的目的是在选择“个人资料”时显示其网页。但是,尝试了几种方法,我找不到在urlString

之后设置navigationController.viewControllers = @[[self.storyboard instantiateViewControllerWithIdentifier:@"second"]];的方法

如何设置并传递urlString以便像NSUrl * url = [NSURL URLWithString:urlString]一样使用它?

enter image description here

3 个答案:

答案 0 :(得分:1)

首先在第一个View Controller的.m文件中导入你的secondViewController

在secondViewController的.h文件中创建

@property (strong, nonatomic) *NSString passedURL; 

然后在Attribute Inspector中提供故事板名称。 现在,在个人资料的按钮事件或任何

secondViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
svc.passedURL = urlString;
[self presentViewController:svc animated:YES completion:nil]; 

多数民众赞成。希望它对你有用。

答案 1 :(得分:0)

以下行显示,

navigationController.viewControllers = @ [[self.storyboard instantiateViewControllerWithIdentifier:@“second”]];

您正在尝试访问ViewControllers数组,但我不确定您为什么要使用所有ViewControllers。我想你可以像下面这样得到secondViewController并设置字符串

 secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
    secondViewController.urlString = urlString;

答案 2 :(得分:0)

尝试了我可以获得的每种方法后,使用[navigationController.viewControllers[0] setTitle:urlStrings]查找解决方法可能有效。

这样做是否正确?