我有以下代碼寫入運行NSTimer
。但是NSTimer選擇器沒有被調用。NSTimer選擇器沒有被調用
.h文件中
@interface XViewController : UIViewController {
NSTimer *repeatServerRequest;
}
@property(nonatomic, retain) NSTimer *repeatServerRequest;
- (void)checkForMinimunOnetimePinEntry;
- (void) initializeTimer;
- (void)stopTimer;
.m文件
@synthesize repeatServerRequest;
- (void)checkForMinimunOnetimePinEntry {
// some code
}
- (void) initializeTimer {
repeatServerRequest = [NSTimer scheduledTimerWithTimeInterval:15.0
target:self
selector:@selector(checkForMinimunOnetimePinEntry)
userInfo:nil
repeats:YES];
}
- (void)stopTimer {
[repeatServerRequest invalidate];
[repeatServerRequest release];
repeatServerRequest = nil;
// [self.repeatServerRequest invalidate];
// [self.repeatServerRequest release];
// self.repeatServerRequest = nil;
}
我在做什麼錯?
還回答我哪一個是正確的使用:self.repeatServerRequest或只是repeatServerRequest? 在此先感謝!
你確定你調用了initializeTimer嗎?在那裏確認一個斷點。至於第二部分,如果你使用屬性訪問器(屬性本身將爲你處理內存管理),所有你需要的是invalidate並設置爲nil。如果你這樣做,這是正確的,但最好堅持屬性方法(當然,在init和dealloc之外) – borrrden
是的,我只用這個stmt'[self initializeTimer];' –
你確定由於定時器設置爲15秒,您是否等待了15秒? –