मैंने अपने ऐप्स में जीसीडी या बहुत थ्रेडिंग का उपयोग नहीं किया है, लेकिन मैंने ऐसी परिस्थिति में भाग लिया है जहां मुझे एक विधि या दो थ्रेड से दो चलाने की आवश्यकता है। एक बार यह विधि पूरी होने के बाद मुझे कॉलबैक से मुख्य धागे का उपयोग करके एक और विधि कॉल करने की आवश्यकता होती है। मैं यह देखने के लिए चारों ओर खोज कर रहा हूं कि थ्रेड ने ऑपरेशन कब समाप्त किया है, लेकिन इस विषय पर अभी भी स्पष्ट नहीं है।कॉलबैक विधि के साथ आईओएस ग्रांड सेंट्रल डिस्पैच
मैंने एक परीक्षण ऐप बनाया और त्वरित उदाहरण के लिए दृश्यडिडलोड विधि का उपयोग किया।
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
NSLog(@"viewDidLoad called");
sleep(5); // simulating a thread being tied up for 5 seconds
dispatch_async(dispatch_get_main_queue(), ^{
[self callbackMethod]; // method called after above thread has completed running
});
});
}
क्या यह उदाहरण मैं जो करने की कोशिश कर रहा हूं उसके लिए काम करेगा? एप्लिकेशन चलाते समय ऐसा प्रतीत होता है कि नींद के बाद कॉलबैक विधि को कॉल किया जाता है (5) खत्म होता है। क्या यह इस स्थिति को संभालने का सही तरीका है या मैं निश्चित रूप से रास्ता बंद कर रहा हूं?
हाँ, ऐसा लगता है कि इसे ठीक काम करना चाहिए। – geraldWilliam
दोस्तों त्वरित प्रतिक्रियाओं के लिए धन्यवाद! अतिरिक्त लिंक के लिए @matt धन्यवाद। बहुत सराहना की! – tg2007