Проблемы с загрузкой UIWebView
Я пытаюсь написать управляющую программу SplitView, в которой нажатие ячейки таблицы в masterViewController приводит к загрузке соответствующей веб-страницы в контроллере подробного представления. У меня есть следующий метод в контроллере подробного представления, который я могу подтвердить, вызывается и получает правильный ввод:
-(void)masterAction:(id)sender {
NSString *http = @"http://";
http = [http stringByAppendingString:sender];
_urlString = http;
NSURL *url= [NSURL URLWithString:_urlString];
[self.web loadRequest:[NSURLRequest requestWithURL:url]];
}
Однако ничего не загружается. Есть идеи, почему это может быть? Единственный способ получить что-либо для загрузки - вставить в метод viewDidLoad нечто похожее на следующее:
NSURL *url= [NSURL URLWithString:@"http://www.google.com];
[self.web loadRequest:[NSURLRequest requestWithURL:url]];
Метод вызывается с использованием:
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *thread = [self.issueData objectForKey:@"responseData"];
NSDictionary *feed = [thread objectForKey:@"feed"];
NSArray *entries = [feed objectForKey:@"entries"];
NSDictionary *posts = entries[indexPath.row];
NSString *urlString = [posts objectForKey:@"link"];
NSArray *split = [urlString componentsSeparatedByString:@"url=http://"];
NSString *url = [split objectAtIndex:1];
[self.delegate masterAction:url];
}
2 ответа
Установить делегат веб-просмотра.
и попробуй это.
NSString *myUrl = @"http://www.YourWebSite.com";
NSURL *webUrl = [NSURL URLWithString:myUrl];
[webObj loadRequest:[NSURLRequest requestWithURL:webUrl]];
Я продублировал этот код в тестовом проекте, и единственный кусок кода, где что-то может пойти не так, это если вы забыли поставить www. после http:// перед доменным именем. Попробуем изменить метод masterAction на следующий:
- (void) masterAction: (id) sender
{
if (![sender isKindOfClass:[NSString class]]) return;
NSString *http = @"http://www.";
NSString *urlString = [http stringByAppendingString:sender];
NSURL *url = [NSURL URLWithString:urlString];
[self.web loadRequest:[NSURLRequest requestWithURL:url]];
}
Если это не проблема, и отправляемая в метод строка содержит www. попробуйте установить делегат UIWebView, чтобы посмотреть, не возникла ли ошибка при загрузке запроса.