2011-03-31 15 views
9

प्रदर्शन से होने से बहुत ही बुनियादी समस्या।एक प्रदर्शन को रोकने वाला चयनकर्ता:

[self performSelector:@selector(startSequence:) withObject:nil afterDelay:1.0]; 

हालांकि, इसे कॉल करने के बाद इसे रोकने का कोई तरीका है? किसी भी मदद के लिए धन्यवाद डिस्को

उत्तर

12

आप +[NSObject cancelPreviousPerformRequestsWithTarget:] चाहते हैं। यदि कई प्रदर्शन अनुरोध प्रतीक्षा कर रहे हैं, तो यह उन सभी को रद्द कर देगा।

यदि आप कुछ बेहतर अनाज नियंत्रण चाहते हैं, तो आप +[NSObject cancelPreviousPerformRequestsWithTarget:selector:object:] का उपयोग कर सकते हैं। भविष्यवाणी से मेल खाने वाली हर चीज रद्द कर दी गई है; यदि आपके पास कई समान अनुरोध प्रतीक्षा हैं, तो एक को रद्द करने के लिए कोई तंत्र नहीं है।

+0

यदि आप मुख्य थ्रेड पर 'प्रदर्शन चयनकर्ता: बाद में:' कॉल करते हैं, तो दृढ़ता से सुनिश्चित करें कि आप मुख्य थ्रेड पर 'रद्द करेंप्रतिफॉर्मफॉर्मफॉर्म WithTarget:' को भी कॉल करें। अन्यथा इसे रद्द नहीं किया जाएगा! – malex

11

यकीन है कि;

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(startSequence:) object:nil]; 
संबंधित मुद्दे