在segue传递网址信息

时间:2012-08-30 19:09:46

标签: xcode ios5 segue

我有2个按钮,每个按钮都设有一个segue到一个带有Web视图的视图控制器。我尝试根据启动segue的按钮在Web视图中加载URL。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

if ([segue.identifier isEqualToString: @"toWeb"]){
     NSString *abc = @"http://www.abc.com/";
    NSURL *url = [NSURL URLWithString:kmb];
    NetView *netview =[segue destinationViewController];
    [netview.internet loadRequest:[NSURLRequest requestWithURL:url]];


}else if ([segue.identifier isEqualToString: @"toFacebook"]){
    NSString *fb = @"http://www.facebook.com/ABC?ref=hl";        
    NSURL *url2 = [NSURL URLWithString:fb];
    NetView *netview =[segue destinationViewController];
    [netview.internet loadRequest:[NSURLRequest requestWithURL:url2]];
    }
     }

这不起作用,但我没有在新屏幕上看到任何错误。我不确定问题是什么。谁能帮助我指出正确的方向?谢谢。

1 个答案:

答案 0 :(得分:1)

问题是目前尚未加载目标控制器上的webview。只需在目标控制器上设置一个属性来保存您的网址,然后在其viewDidLoad方法上将消息发送到网页视图以加载请求。像这样:

<强> NetView.h

...
@property (nonatomic, copy) NSString *url;

<强> NetView.m

...
@synthesize url;

您的代码段

if ([segue.identifier isEqualToString: @"toWeb"]){
    NetView *netview = [segue destinationViewController];
    netview.url = @"http://www.abc.com/";
}
...

<强> NetView.m

- (void)viewDidLoad
{
    NSURL *urlToLoad = [NSURL URLWithString:self.url];
    [self.internet loadRequest:[NSURLRequest requestWithURL:urlToLoad]];
}