Проблемы с загрузкой 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, чтобы посмотреть, не возникла ли ошибка при загрузке запроса.

Другие вопросы по тегам