Я работаю над приложением, которое отображает удаленный html и использует локальные изображения, поэтому я пытаюсь загрузить HTML-код веб-сайта и отобразить его как «локальный ", которая будет иметь доступ к изображениям в моем пакете.Object-C: initWithContentsOfURL return null
По какой-то причине я не могу заставить initWithContentsOfURL работать. Я проверил все руководства и примеры, которые мог найти, и кажется, что я делаю это правильно, но дело просто не будет работать, все время возвращает null. Та же самая страница, загруженная NSURLRequest requestWithURL
, отлично работает. Ценю вашу помощь!
Вот код:
- (void)awakeFromNib
{
appURL = @"http://dragontest.fantasy-fan.org";
notConnectedHTML = @"Could not connect.";
NSString *seedString = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/seed.php", appURL]]];
NSString *HTMLdata = @"";
if (seedString = @"(null)") {
NSLog(@"Can't connect on awakeFromNib.");
HTMLdata = notConnectedHTML;
}else {
HTMLdata = [NSString stringWithFormat:@"<body style='padding:0px;margin:0px;'>%@%@</body>", seedString, @"<br><img src='images/Default.png'>"];
}
[homeView loadHTMLString:HTMLdata baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];
}
Вау, я мог бы искать 100 лет, и я бы не стал искать решение. Спасибо, Ник! :) такая ошибка новобранец я не могу поверить в это хе-хе Я не понимаю, что вы имеете в виду, используя 'urlWithString: relativeToURL:', как это лучше/отличается от того, что я использую? и да, эти два вара в начале являются глобальными. – AragornSG
NSString не квалифицируется как примитив, я боюсь, но вы правы, что при сравнении двух строк == это не самый лучший способ. NSString предоставляет свой собственный метод для этого: if ([seedString isEqualToString: @ "(null)"]) –
Нет проблем! Если вы храните 'appURL' как' NSURL' вместо 'NSString', вы можете сделать' [NSURL urlWithString: @ "/ seed.php" relativeToURL: appURL] '. Обычно в программах Cocoa/CocoaTouch вы храните URL как объекты «NSURL», а не «NSString's». То, что я только что написал, более читаемо, но будет делать то же самое, что и вы. –