क्या कोई तरीका है कि मैं इस और इसी तरह के तरीकों से संबंधित चयनकर्ता के बजाय ब्लॉक निष्पादित कर सकता हूं?performSelectorOnMainThread का ब्लॉक संस्करण: withObject: waitUntilDone:
मेरे पास पर्यवेक्षकों हैं जो मुख्य धागे पर उत्पन्न नहीं होने वाली घटनाएं प्राप्त कर सकते हैं। मैं मुख्य थ्रेड पर कार्रवाई करना चाहता हूं यदि यह मुख्य रूप से यूआई उन्मुख है। अभी, मुझे ऐसा करने के लिए दो विधियों को लिखने की जरूरत है, जहां एक घटना पर्यवेक्षक है, और दूसरा वह कोड है जिसे मुख्य धागे पर निष्पादित करने की आवश्यकता है।
मैं यह सब एक विधि में encapsulate करना चाहता हूं, अगर मैं कर सकता था। यदि आप waitUntilDone:NO
पर योजना बना रहे थे
dispatch_sync(dispatch_get_main_queue(), ^{
// Do stuff here
});
या dispatch_async
:
ऐसा लगता है कि ये दोनों [इस SO सवाल] के अनुसार समतुल्य नहीं हैं (http://stackoverflow.com/questions/9335434/whats-the-difference-between-performselectoronmainthread-and-dispatch-async-on-m)। इसके अलावा [यह] (http://stackoverflow.com/questions/19544207/how-to-avoid-coreanimation-warning-deleted-thread-with-uncommitted-catransactio) एक और यूआई-विशिष्ट उत्तर के लिए। – insys