나는이 코드를 여기에있는 다른 스레드에서 꺼냈다. 완벽하게 작동하지만 누수가있다. 나는 그것을 풀어 낼 방법을 모른다. GoToNext 할당 줄에 "autorelease"문을 추가하려고했습니다. 그것은 도움이 안됐다. 누구든지이 문제를 올바르게 처리하는 방법을 알고 있습니까?이 배정은 어떻게 해제합니까?
webView.delegate = [[GoToNext alloc] initWithTarget:self andNext:@selector(loadUpdateGraph)]; //leak
이것은 GoToNext 코드입니다 : 당신이 alloc
를 사용 GoToNext
의 인스턴스를 만들 때
@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
모든 init에 대해 직접 릴리스해야하지 않습니까? 그래서'self = [[super init] autorelease]가 있어서는 안된다;'? 나는 Xcode에 직접 들어가기 때문에, 나는 틀릴 수도있다! – romo
방금 시도해 보니 좀비 오류가 발생하고 앱이 다운됩니다. :( – MrHappyAsthma