私はこれがとても簡単な問題だと知っていますが、私はそれに苦労しており、うまく動作しません。私は特定の行が選択されたときにURLを開くためにUITableViewを取得しようとしています。 NSLogを使用するurlSelected変数が正しく設定されていて、UrlViewControllerに正しく渡されていることがわかりましたが、単にWebビューを表示していません。黒い画面のナビゲーションメニューしか表示されません。 2つのビューコントローラ間にプッシュリレーションシップを追加すると、ViewControllerは正しくロードされますが、urlSelected変数をUrlViewControllerに渡す際に問題があります。この変数を渡す適切な方法は何ですか?また、2つのViewController間に別の関係を設定する必要がありますか?ここで私は、現在持っているものです。UIWebViewがロードされていない
RootViewController.m:
#import "RootViewController.h"
#import "UrlViewController.h"
..........
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UrlViewController *webController = [[UrlViewController alloc] init];
if(indexPath.row == 0){
webController.urlAddress = @"http://www.yahoo.com";
NSLog(@"urlAddress being passed is:%@", webController.urlAddress);
[self.navigationController pushViewController:webController animated:YES];
}else if(indexPath.row == 1){
webController.urlAddress = @"http://www.google.com";
NSLog(@"urlAddress being passed is:%@", webController.urlAddress);
[self.navigationController pushViewController:webController animated:YES];
}else{
webController.urlAddress = @"http://www.abc.com";
NSLog(@"urlAddress being passed is:%@", webController.urlAddress);
[self.navigationController pushViewController:webController animated:YES];
}
}
UrlViewController.h:
@interface UrlViewController : UIViewController{
NSString *urlAddress;
}
@property (strong) IBOutlet UIWebView *webView;
@property (nonatomic, retain) NSString *urlAddress;
UrlViewController.m:
@implementation UrlViewController
@synthesize webView;
@synthesize urlAddress;
...........
- (void)viewWillAppear:(BOOL)animated {
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
NSLog(@"The value being receieved is:%@", urlAddress);
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
私から次のような出力を受け取りますNSLogs:
2012-03-28 09:53:30.266 BeloitTurner[4278:f803] urlAddress being passed is:http://www.yahoo.com
2012-03-28 09:53:30.269 BeloitTurner[4278:f803] The value being receieved is:http://www.yahoo.com
ご協力いただきありがとうございます。
私はこれに答えました[ここ](http://stackoverflow.com/questions/8791517/pass-a-uiwebview-request-using-prepareforsegue/13723765#13723765)!それは静かな同じ質問です。 – Ashoor