2010-07-07 16 views
7

को अमान्य करने पर चयनकर्ता को कॉल करें मुख्य रूप से मैं एक nstimer शेड्यूल बनाने के लिए एक तरीका ढूंढ रहा हूं टाइमर विथटाइम इंटरवल जो प्रत्येक 3 सेकंड 10 बार दोहराता है, फिर एक दोहराव वाले टाइमर के रूप में अमान्य हो जाता है। क्या यह संभव है? आदर्श रूप से एक अतिरिक्त चयनकर्ता आग लग जाएगा जब टाइमर भीNSTimer केवल x बार दोहराएं, फिर

उत्तर

9

बस लूप की संख्या का ट्रैक रखें और टाइमर ऑब्जेक्ट का संदर्भ रखें। फिर जब आप पर्याप्त कर लें तो बस इसे अमान्य करें।

// ivars 
int loopCount; 
NSTimer *myTimer; 

// Method that calls your timer. 
- (void)doStuff { 
    loopCount++; 
    if (loopCount >= 10) { 
     [myTimer invalidate]; 
     myTimer = nil; 
    } else { 

     //do my stuff here... 

    } 
} 

// Method that kicks it all off 
- (IBAction)startDoingStuff { 
    myTimer = [NSTimer scheduledTimerWithTimeInterval:3.0 
               target:self 
              selector:@selector(doStuff) 
              userInfo:nil 
               repeats:YES]; 
} 
संबंधित मुद्दे