【发布时间】:2013-01-14 19:20:08
【问题描述】:
我创建了一个 NSObject 类并包含在内,在初始化中我创建了一个 uiwebview 将委托设置为 self 并发送加载请求。
由于某种原因,webViewDidFinishLoad 或 didFailLoadWithError 永远不会被解雇。我不知道为什么。
//
// RXBTest.h
#import <Foundation/Foundation.h>
@interface RXBTest : NSObject <UIWebViewDelegate>
@end
// RXBTest.m
// pageTest
#import "RXBTest.h"
@implementation RXBTest
- (id) init
{
if((self=[super init])){
UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
[webView setDelegate:self];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]]];
}
return self;
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
NSLog(@"ERROR LOADING WEBPAGE: %@", error);
}
- (void) webViewDidFinishLoad:(UIWebView*)webView
{
NSLog(@"finished");
}
@end
有人有什么想法吗?
谢谢 鲁迪
【问题讨论】:
-
您使用的是
ARC还是MRC? -
我正在使用 ARC 和 ios6 min.
-
那就是问题所在。当您用完范围时,本地
UIWebView将立即被释放,因为没有任何东西可以使对象保持活动状态......但其他人也提到了明显的解决方案。
标签: ios objective-c xcode uiwebview uiwebviewdelegate