我现在有一个应用程序基本上打开一个URL,具体取决于用户输入文本框的内容。这样做的逻辑是这样的:
Predetermined beginning + User Input + Predetermined End
所以基本上我的URL是3个串联字符串。现在我知道链接正在正确形成(我已将相同的代码片段放入标签中)但是当我按下按钮加载webview时没有任何反应。
当我使用下面的内容时,它完全正常,我明确地键入https://google.com
- (IBAction)btnSearchPress:(id)sender {
[self.view endEditing:YES];
[super viewDidLoad];
NSString *fullURL = @"https://google.com";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_wbView loadRequest:requestObj];
}
但是当我使用包含我的连锁网址的代码时没有任何反应:
- (IBAction)btnSearchPress:(id)sender {
[self.view endEditing:YES];
[super viewDidLoad];
NSString *fullURL = [NSString stringWithFormat:@"%@%@%@", _urlPrefix.text,_txtInput.text, _urlSuffix.text];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_wbView loadRequest:requestObj];
}
非常感谢任何帮助。
更新:我非常确定stringWithFormat导致此问题只是不确定如何绕过它。:
答案 0 :(得分:1)
检查fullURL是以http://或https://开头,如果不是前缀。
- (IBAction)btnSearchPress:(id)sender {
[self.view endEditing:YES];
[super viewDidLoad];
NSString *fullURL = [NSString stringWithFormat:@"%@%@%@", _urlPrefix.text,_txtInput.text, _urlSuffix.text];
if ( ! ([fullURL hasPrefix:@"http://"] || [ fullURL hasPrefix:@"https://"]) ) {
fullURL = [NSString stringWithFormat:@"http://%@", fullURL ];
}
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_wbView loadRequest:requestObj];
}