このコードをここの別のスレッドから取得しました。完全に機能しますが、リークが発生し、リリースする方法がわかりません。GoToNext割り当て行に「autorelease」ステートメントを追加してみました。それは役に立たなかった。誰かがこれを適切に処理する方法を知っていますか?
webView.delegate = [[GoToNext alloc] initWithTarget:self andNext:@selector(loadUpdateGraph)]; //leak
これはGoToNextコードです:
.h
@interface GoToNext : NSObject <UIWebViewDelegate> {
id __weak target;
SEL next;
}
-(id)initWithTarget:(id)target andNext:(SEL)next;
-(void)webViewDidFinishLoad:(UIWebView *)webView;
@end
.m
#import "GoToNext.h"
@implementation GoToNext
-(id)initWithTarget:(id)_target andNext:(SEL)_next {
self = [super init];
if (self) {
target = _target;
next = _next;
}
return self;
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
[target performSelector:next];
}
@end