मेरे पास डेटा लोडिंग ऑपरेशन है जिसे संभावित अवरोधन समस्याओं से बचने के लिए मुख्य थ्रेड को चलाने की आवश्यकता है। ऐसा करने के लिए, मैं एक NSOperationQueue और NSOperations का उपयोग करता हूं।NSOperationQueue समाप्त होने तक एनएसओपरेशन को कैसे अवरुद्ध करें?
हालांकि, एक मुद्दा जो आया है, यह है कि आने वाली जानकारी के आधार पर अतिरिक्त संचालन के लिए एक परिचालन मौजूद है। इसे सुलझाने की कोशिश करने से मुझे कुछ और मामूली समस्याएं हल हुईं, क्योंकि मैंने जिस समाधान पर मारा था, वह एनएसओपरेशन को उप-कार्यों के लिए अपनी कतार देना था।
समस्या यह है कि जैसे ही 'मुख्य' निकलता है, एनएसओपरेशन को 'समाप्त' के रूप में चिह्नित किया जा रहा है, भले ही उप-कतार प्रसंस्करण समाप्त हो या नहीं; मैं उस व्यवहार को कैसे ओवरराइड कर सकता हूं?
लगता है जैसे आप एक [समवर्ती 'NSOperation'] (http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperation_class/Reference/Reference.html) ढूंढ रहे हैं? –
@CarlVeazey नहीं ... बिल्कुल, लेकिन ऐसा लगता है कि एक समवर्ती एनएसओपरेशन बनाने के लिए उपयोग किए जाने वाले कदम वही काम करते हैं जो मैं वास्तव में देख रहा हूं। आपको ओवरराइड करना है कि स्टार्ट विधि कैसे संभालती है समाप्त/समाप्त हो रही है, और मुझे लगता है कि मुझे वही करना है जो मुझे यहां करने की ज़रूरत है। मुझे शुरुआत को ओवरराइड करने की आवश्यकता है ताकि यह सेट न हो, तत्काल मुख्य सिरों को समाप्त कर दिया जाए। जिसका मतलब है कि जब मैं उन गुणों को बदलता हूं, तो केवीओ सामान को संभालना, ओह खुशी। – RonLugge
@ कोडाफ़ी मुझे यकीन नहीं है कि मैंने खुद को स्पष्ट कर दिया है, लेकिन आपके द्वारा सुझाए गए उत्तर को समझ में नहीं आता है। निर्भरता एक ऑपरेशन को निष्पादित करने से रोकती है, वे निष्पादन शुरू होने के बाद इसे खत्म होने से नहीं रोकते हैं। कम से कम, संदर्भ यही कह रहे हैं। – RonLugge