Я работаю над основным приложением, и у меня возникла проблема с перезагрузкой веб-просмотра после того, как выбор сделан в tableView. Я склонен думать, что с моим заданием NSURL проблема очень проста. Ниже приведен соответствующий код.
эта функция у меня в masterview;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UGStory *detailStory = [_ugFeed.stories objectAtIndex:indexPath.row];
[_detailViewController displayMaster:detailStory.url];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
это в подробном обзоре
- (void) displayMaster:(NSURL *)urlToLoad
{
NSURLRequest *requestObj = [NSURLRequest requestWithURL:urlToLoad];
[_webView loadRequest:requestObj];
}
и это где NSURL устанавливается
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if (_read == YES)
{
if ([elementName isEqualToString:@"title"]) {
UGStory* temp = [_stories objectAtIndex:_i];
temp.title = _currentTag;
}
if ([elementName isEqualToString:@"link"]) {
UGStory* temp = [_stories objectAtIndex:_i];
temp.url = [NSURL URLWithString:_currentTag];
_read = NO;
_i++;
}
}
_currentTag = nil;
return;
}
Я подозреваю, что мое назначение temp.url работает не так, как ожидалось. Я напечатал _currentTag, используя NSLog, и он содержит правильное значение, когда это происходит.
URL объявлен как сильное неатомное свойство. Когда я выполняю это, все эти функции вызываются, когда я ожидаю их, но после выполнения функции displayMaster содержимое WebView не меняется.
РЕДАКТИРОВАТЬ: Я удалил некоторые из моих OP, потому что я четко определил, какая строка кода вызывает проблему. Это присвоение URL в didEndElement, URLWithString возвращает ноль.
if ([elementName isEqualToString:@"link"]) {
NSLog(@"urlString = %@", _currentTag);
temp.url = [NSURL URLWithString:_currentTag];
NSLog(@"url = %@, %@", temp.url, [temp.url absoluteString]);
_read = NO;
_i++;
}
Вывод в моем журнале выглядит следующим образом для каждого объекта в моем массиве.
2012-01-07 20: 14: 22.971 MusicNews [1162: f803] urlString =
http://www.ultimate -guitar.com / Новости / general_music_news / 30_seconds_to_mars_no_plans_to_split.html
2012-01-07 20: 14: 22.982 MusicNews [1162: f803] url = (ноль), (ноль)
2012-01-07 20: 14: 22.982 MusicNews [1162: f803] urlString =
http://www.ultimate -guitar.com / Новости / upcoming_releases / kiss_two_days_from_finishing_new_album.html
2012-01-07 20: 14: 22.983 MusicNews [1162: f803] url = (ноль), (ноль)
Может кто-нибудь объяснить, почему URLWithString здесь не работает?