これは、クリックするとSafariを開くボタンです。URLに格納されたURLを使用してSafariを起動する
-(IBAction)loginClicked:(id)sender{
NSLog(@"loginClicked");
NSLog(@"currentSelectedRow = %i", currentSelectedRow);
loginObj = [appDelegate.loginArray objectAtIndex:currentSelectedRow];
NSLog(@"URL = %@", loginObj.loginURL);
Error-->[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"%@", loginObj.loginURL]];
}
エラー:私は
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"www.google.com"]];
で[[UIApplication sharedApplication]
を交換した場合Too many arguments to method call, expected 1, have 27
Safariが起動することができ、Googleに行くと、私のデバッガは、それが思わ以下
2012-01-26 16:04:15.546 Login2[197:707] loginClicked
2012-01-26 16:04:15.550 Login2[197:707] currentSelectedRow = 0
2012-01-26 16:04:15.555 Login2[197:707] URL = www.amazon.com
を示し私がを引っ張ったことは正しく配列されていますが、SafariでURL
を開くコードに実装することはできません。
こんにちはSriさん、ありがとうございます。私はあなたの方法を試して、今ボタンは私の配列のURLからSafariを開くことができます。私の配列に格納されているURLは 'http:// www.amazon.com'ですが、Safariで開かれたものは' www.amazon.com%0a/'です。無効なURLです。アドバイス – at0m87
これを試してください。 loginObj.loginURL = [[loginObj.loginURL stringByReplacingOccurrencesOfString:@ "%0a" withString:@ ""]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:loginObj.loginURL]]; – Tendulkar
は、httpの代わりにhttpsを使用すると違いがありますか?配列のURLを 'https:// www.amazon.com'に変更したような感じです!それは 'http:// www.amazon.com'ではありません。私は一般的にあなたのメソッドが最高で、短くて甘いと思っています。なぜ私の配列にURLが正しく入っていないのですか? – at0m87