वर्तमान विधि पारित होने के बाद मैं एक विधि निष्पादित करना चाहता हूं और यूआई अपडेट किया गया है। उस उद्देश्य के लिए, मैं अभी [object performSelector:@selector(someSelector) withObject:someObject afterDelay:0.0]
का उपयोग कर रहा हूं। Apple's documentation के अनुसार, यह एक एनएसटीमर बनाता है जो तब चयनकर्ता को वर्तमान NSRunLoop में ट्रिगर और जोड़ देगा। लेकिन मैं इस बहुत ही सुरुचिपूर्ण पर विचार नहीं करता हूं। क्या कोको एक टाइमर इत्यादि के बिना, मौजूदा रन लूप में चयनकर्ता को सीधे एनक्यू करने का कोई आसान तरीका है?रन लूप के लिए चयनकर्ता को एन्क्यू करें - [NSObject प्रदर्शन चयनकर्ता: withObject: afterDelay:] जाने का तरीका?
performSelectorOnMainThread:withObject:waitUntilDone:
(यदि मैं मुख्य धागे पर हूं) या performSelector:onThread:withObject:waitUntilDone:
waitUntilDone:NO
के साथ क्या मैं कम ओवरहेड के साथ चाहता हूं?
चियर्स और अग्रिम
MrMage
मैंने जो दस्तावेज उद्धृत किया है, वह पढ़ता है 'वर्तमान थ्रेड पर निर्दिष्ट चयनकर्ता को निष्पादित करता है अगला रन लूप चक्र और वैकल्पिक देरी अवधि के बाद। ' इसका मतलब यह नहीं है कि किसी भी तरह चयनकर्ता को अगले रन लूप चक्र में लगाया जाना चाहिए? – MrMage
निश्चित रूप से करता है। :-) टाइमर निकाल दिया घटना के माध्यम से Thats। –
इसे स्वीकार किया क्योंकि यह मुझे वास्तव में क्या हो रहा है में सबसे अंतर्दृष्टि प्रदान करता है। – MrMage