में निर्दिष्ट अवधि की प्रतीक्षा कर रहा है क्या कोको में एक निश्चित मात्रा के लिए प्रतीक्षा करने का एक और अधिक सरल तरीका है जो मैंने नीचे दिया है?कोको
- (void) buttonPressed {
[self makeSomeChanges];
// give the user some visual feedback and wait a bit so he can see it
[self displayThoseChangesToTheUser];
[self performSelector:@selector(buttonPressedPart2:) withObject:nil afterDelay:0.35];
}
- (void) buttonPressedPart2: (id)unused {
[self automaticallyReturnToPreviousView];
}
बस स्पष्ट होना, इस कोड के साथ कोई कार्यात्मक समस्या है - अपने ही गोमांस एक शैलीगत से एक है। मेरे मामले में प्रवाह इतना आसान है कि यह काम करता है, लेकिन इसे सिकुड़ने या कुछ सशर्तों में फेंकने की कोशिश करता है और चीजें बदसूरत हो सकती हैं। यह एक तरह से मुझ पर सता रहा है कि मैं प्रतीक्षा करने के लिए एक तरह से नहीं मिल सका और फिर इस (काल्पनिक) के उदाहरण की तरह कोड में है कि एक ही बिंदु पर लौटने:
- (void) buttonPressed {
[self doStuff];
[UIMagicUnicorn waitForDuration:0.35];
[self doStuffAfterWaiting];
}
और जो दोनों के कुछ और करने से धागा रोकेंगे। बुरा, अगर यह मुख्य यू.आई. में है धागा। – pestilence669
सच है। यदि आपको इस अवधि के दौरान उत्तरदायी होने के लिए यूआई की आवश्यकता है, तो सवाल में सुझाए गए दृष्टिकोण, एक एनएसटीमर एक बार फायरिंग (जैसा कि आप सुझाव देते हैं), या इस देरी को करने वाला पृष्ठभूमि धागा बेहतर होगा। –
धन्यवाद - यही वह है जो मैं सोच रहा था, शायद उस पर ठोकर खाई होगी 'नींद' 'प्रतीक्षा' के लिए कई समानार्थी शब्दों में से एक था जिसे मैंने खोजना सोचा था। इनका उपयोग करने के लिए * नहीं * के बारे में चेतावनी के लिए भी महामारी। –