myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO];
//不重復(fù),只調(diào)用一次。timer運(yùn)行一次就會(huì)自動(dòng)停止運(yùn)行
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(function:) userInfo:nil repeats:YES];
//每1秒運(yùn)行一次function方法。
注意:將計(jì)數(shù)器的repeats設(shè)置為YES的時(shí)候,self的引用計(jì)數(shù)會(huì)加1。因此可能會(huì)導(dǎo)致self(即viewController)不能release,所以,必須在viewWillAppear的時(shí)候,將計(jì)數(shù)器timer停止,否則可能會(huì)導(dǎo)致內(nèi)存泄露。停止timer的運(yùn)行,但這個(gè)是永久的停止:(注意:停止后,一定要將timer賦空,否則還是沒(méi)有釋放。不信?你自己試試~)
//取消定時(shí)器
[timer invalidate];
timer = nil;
//頁(yè)面將要進(jìn)入前臺(tái),開(kāi)啟定時(shí)器
-(void)viewWillAppear:(BOOL)animated
{
//開(kāi)啟定時(shí)器
[scrollView.myTimer setFireDate:[NSDate distantPast]];
}
//頁(yè)面消失,進(jìn)入后臺(tái)不顯示該頁(yè)面,關(guān)閉定時(shí)器
-(void)viewDidDisappear:(BOOL)animated
{
//關(guān)閉定時(shí)器
[scrollView.myTimer setFireDate:[NSDate distantFuture]];
}