2012-01-05 5 views
-2

詳細ビューコントローラにURLを渡してwebviewに表示したいのですが、targetController.url = url;私はこの方法をやっている場合iphoneで次のビューにvarを渡す方法

その完全に次のビューに行くけどとして最初のターゲットでは実際のクラス

- (IBAction)tappedItemAtIndexButton:(id)sender 
{ 
    NSString *url =[NSString stringWithFormat:@"%@",@"www.google.com"]; 
    PortfolioDetailViewController *targetViewController=[[PortfolioDetailViewController alloc] initWithNibName:@"PortfolioDetailViewController" bundle:[NSBundle mainBundle]]; 
targetViewController.url=url; 
[self.navigationController pushViewController:targetViewController animated:YES]; 
[targetViewController release]; 

} 

NSString*[email protected]"www.google.com"; 

PortfolioDetailViewController *targetViewController=[[PortfolioDetailViewController alloc] initWithNibName:@"PortfolioDetailViewController" bundle:[NSBundle mainBundle]]; 
targetViewController.stringURLToLoad =url; 
[self.navigationController pushViewController:targetViewController animated:YES]; 
[targetViewController release]; 

エラーログ

2012-01-05 10:25:21.459 MotherAndChildGuide[656:207] http://www.stbcouncil.com 
Current language: auto; currently objective-c 
Program received signal: “EXC_BAD_ACCESS”. 

(gdb) 
+3

問題はこのコードに記載されていません。 'url1'やPortfolioDetailViewControllerに問題があります。 – jrturton

+0

詳細ビューには表示されないコントローラtargetViewController.url =詳細コントローラに移動しないURL –

+0

'url1'はどのように定義されていますか? PortfolioViewControllerにインスタンス変数 'url'がありますか?あなたのエラーのスタックトレースは何ですか? – Mat

答えて

0

を与えられていません使用するクラス .h

NSString *url; 
@property(nonatomic,retain)NSString *url; 

.M

@synthesize url; 

と、そのクラス内の任意の場所に

をその文字列を使用しても、あなたはあなたを述べてきたようにWebViewの

+0

ですが、私はwww.googleを持っています。私は –

+1

対象のクラスのプロパティを使用しているvar url1のcomですか? – Anand

+0

はいターゲットクラスで使用しています。 –

0

にロードするため

NSURLRequest* request = [NSURLRequest requestWithURL: [NSURL URLWithString:self.url]]; 
[webView loadRequest:request]; 

を使用次のビューコントローラとlにvar(URL)を渡したいWebビューで何かをoad。あなたは、このような

いずれかNSString* strURLToLoad;か、他NSURL * urlToLoad;

財産 .INにあなたが渡す必要がこれらの状況の両方を行うことによって、それらを公開するなど、あなたのPortfolioDetailViewControllerに入ってくる値を保持するためにヴァールを宣言することができます

- (IBAction)tappedItemAtIndexButton:(id)sender { 

     NSString*url =url1; 
     PortfolioDetailViewController *targetViewController=[[PortfolioDetailViewController alloc] initWithNibName:@"PortfolioDetailViewController" bundle:[NSBundle mainBundle]]; 
    targetViewController.strURLToLoad = url; 
    [self.navigationController pushViewController:targetViewController animated:YES]; 
    [targetViewController release]; 

    } 

または

のように以前のViewControllerから正しい値あなたは、あなたが

NSURLRequest* request = [NSURLRequest requestWithURL: [NSURL URLWithString:self.strURLToLoad]]; 
[webView loadRequest:request]; 

のようなものとしてそれを使用する必要があります以前のビューコントローラから文字列を渡す場合は、あなたのPortfolioDetailViewController

を宣言した変数の種類に応じて、

 - (IBAction)tappedItemAtIndexButton:(id)sender { 

     NSURL* urlToSend = [NSURL urlWithString:url1]; 
      PortfolioDetailViewController *targetViewController=[[PortfolioDetailViewController alloc] initWithNibName:@"PortfolioDetailViewController" bundle:[NSBundle mainBundle]]; 
     targetViewController.urlToLoad = urlToSend; 
     [self.navigationController pushViewController:targetViewController animated:YES]; 
     [targetViewController release]; 

     } 

URLを渡す場合は、

NSURLRequest* request = [NSURLRequest requestWithURL: self.urlToLoad]; 
    [webView loadRequest:request]; 
を使用してURLを直接読み込むことができます

希望する!

+0

私の文字列の値はhttp://www.google.comで、例えば –

+0

から来ています。プログラム受信信号: "EXC_BAD_ACCESS"。 –

+0

プロジェクトにNSZombieを有効にして、クラッシュログを入れてください。クラッシュを解決するのに役立ちます。 –

関連する問題