2011-12-15 14 views
26

संभव डुप्लिकेट:
NSTimer doesn't stopआईओएस: रोक एक NSTimer

मैं इस कोड है:

[NSTimer scheduledTimerWithTimeInterval:110.0 
           target:self 
           selector:@selector(targetMethod:) 
           userInfo:nil 
           repeats:YES]; 

- (void) targetMethod:(NSTimer) timer{ 
NSLog(@"Hello World");} 

targetMethod में मैं [टाइमर अमान्य] के साथ टाइमर बंद कर सकते हैं, लेकिन इस विधि से, मैं targetMethod को कैसे रोक सकता हूं?

उत्तर

69

आप रख सकते हैं अपने एक चर में NSTimer और invalidate पद्धति का उपयोग करके टाइमर बंद करो। निम्नलिखित की तरह:

NSTimer * myTimer = [NSTimer scheduledTimerWithTimeInterval:110.0 
           target:self 
           selector:@selector(targetMethod:) 
           userInfo:nil 
           repeats:YES]; 

[myTimer invalidate]; 
16

ऐसा करने का एक तरीका एनएसटीमर * टाइमर बनाना है; एक वैश्विक चर के रूप में आप टाइमर के लिए एक हैंडल हो सकता है। कुछ बात यह पसंद है:

NSTimer *timer; //global var 

timer = [NSTimer scheduledTimerWithTimeInterval:110.0 
           target:self 
           selector:@selector(targetMethod:) 
           userInfo:nil 
           repeats:YES]; 

एक ही कक्षा में कहीं टाइमर रोकने के लिए:

[timer invalidate]; 
संबंधित मुद्दे