Xcode 在segue中传递url信息
我有2个按钮,每个按钮都有一个序列,可以连接到一个带有web视图的视图控制器。我正在尝试在web视图中加载一个url,该url基于启动segue的按钮Xcode 在segue中传递url信息,xcode,ios5,segue,Xcode,Ios5,Segue,我有2个按钮,每个按钮都有一个序列,可以连接到一个带有web视图的视图控制器。我正在尝试在web视图中加载一个url,该url基于启动segue的按钮 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString: @"toWeb"]){ NSString *abc = @"http://www.abc.com/"; NS
- (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]];
}
}
这是不工作,但我没有得到任何错误,只是在新的屏幕上一个平淡的看法。我不确定是什么问题。有人能帮我指出正确的方向吗?谢谢。问题是目标控制器上的webview此时尚未加载。只需在目标控制器上设置一个属性来保存url,然后在其
viewDidLoad
方法上向webview发送消息以加载请求。大概是这样的:
NetView.h
...
@property (nonatomic, copy) NSString *url;
NetView.m
...
@synthesize url;
- (void)viewDidLoad
{
NSURL *urlToLoad = [NSURL URLWithString:self.url];
[self.internet loadRequest:[NSURLRequest requestWithURL:urlToLoad]];
}
您的代码片段:
if ([segue.identifier isEqualToString: @"toWeb"]){
NetView *netview = [segue destinationViewController];
netview.url = @"http://www.abc.com/";
}
...
NetView.m
...
@synthesize url;
- (void)viewDidLoad
{
NSURL *urlToLoad = [NSURL URLWithString:self.url];
[self.internet loadRequest:[NSURLRequest requestWithURL:urlToLoad]];
}
非常感谢你。现在很好用。谢谢你这么快的回答,我真的很感激。