我有關於NSTimer
的問題。見下面的代碼:NSTimer保留數增加,爲什麼?
NSTimeInterval timeInterval = 1.0f;
SEL selector = @selector(executeDataRefresh);
NSMethodSignature *methodSignature = [[ExecuteDataRefesh class] instanceMethodSignatureForSelector:selector];
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSignature];
[invocation setTarget:executeDataRefresh];
[invocation setSelector:selector];
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval: timeInterval invocation:invocation repeats:YES];
目的executeDataRefresh
的保留計數現在將通過1方法executeDataRefresh
的每次調用增加。所以1分鐘後保留計數是60.
我知道方法retainCount
不應該使用,但是這種方法真的這個「不正確」嗎?
怎麼回事?
你可以添加executeDataRefresh方法的代碼嗎?我懷疑它與你的問題有關。 – ChristophK
如果你知道它不應該被使用,你爲什麼要使用它? – edo42
edo42:我有內存管理的問題,所以在絕望的嘗試修復它,我開始記錄retainCount ..但是,是的,你是對的,它產生了更多的問題,而不是答案。 – user521048