2012-08-30 103 views
0

我有2個按鈕,每個都有一個帶網絡視圖的視圖控制器。我試圖根據哪個按鈕啓動segue,在web視圖中加載一個url。segue中傳遞網址信息

- (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

問題是目標控制器上的webview尚未加載。只需在目標控制器上設置一個屬性來保存您的url,然後在其方法上發送消息到webview以加載請求。事情是這樣的:

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]]; 
} 
+0

非常感謝。現在它工作正常。謝謝你這麼快回答,我真的很感激。 – kmb