원격 HTML을 표시하고 로컬 이미지를 사용하는 앱에서 작업하고 있으므로 웹 사이트의 HTML을 다운로드하여 "로컬 "페이지에서 내 번들의 이미지에 액세스 할 수 있습니다.Object-C : null을 반환하는 initWithContentsOfURL
어떤 이유로 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 년 동안을 보았을 수 있었고 해결책을 찾지 못했을 것입니다. 고마워, 닉! :) 그런 신참 실수 나는 그것을 hehe 믿을 수 없어 당신이'urlWithString : relativeToURL :'을 사용하여 의미하는 것이지만, 내가 사용하고있는 것과 더 나은/다른 것을 어떻게 이해할 수 있습니까? 예, 처음에는 두 개의 변수가 전역 변수입니다. – AragornSG
NSString은 프리미티브로 적합하지 않습니다. 두려운 것 같습니다.하지만 두 문자열을 비교할 때 가장 좋은 방법은 아닙니다. NSString은 다음과 같은 자체 메서드를 제공합니다. if ([seedString isEqualToString : @ "(null)"]) –
문제가 없습니다! 'NSURL' 대신'NSURL'으로'appURL'을 저장하면'[NSURL urlWithString : @ "/ seed.php"relativeToURL : appURL]'할 수 있습니다. 보통 Cocoa/CocoaTouch 프로그래밍에서는 URL을'NSString'보다는'NSURL' 객체로 저장합니다. 제가 작성한 방식은 더 읽기 쉽지만 이미 가지고있는 것과 정확히 똑같이 할 것입니다. –