पॉल हेगर्टी कोर्स पर आईओएस 5 ट्यूटोरियल के बाद हम इस कोड को एक ऐप में देखते हैं जो जीसीडी के उपयोग को प्रदर्शित करता है। स्पष्ट रूप से जीसीडी को रिलीज की आवश्यकता होती है क्योंकि मल्टीथ्रेडिंग के साथ मुद्दों को कुछ हद तक अप्रत्याशित किया जा रहा है, जिसमें अभी भी वस्तुओं की आवश्यकता है।क्या आपको आईओएस 6.0 में एआरसी के तहत जीसीडी कतार जारी करने की आवश्यकता है?
dispatch_async(dowloadQueue, ^{
....
// do some stuff
....
});
dispatch_release(dowloadQueue);
मैं iOS 6 और XCode 4.5 में अपग्रेड किया है और मैं एक मिल "एआरसी स्पष्ट रिहाई की मनाही है ..." संदेश
मैं iOS5/XCode के तहत इस कोड की कोशिश नहीं की 4.2
क्या ऐसा इसलिए है क्योंकि एआरसी को और अधिक चालाक मिला है और अब मुझे जीसीडी में रिहाई की आवश्यकता नहीं है? या क्या मैंने अभी गलत समझा है?
क्या आपको कतार बनाने पर उद्देश्य-सी को __bridge_transfer करने की आवश्यकता है? – openfrog
@openfrog - नहीं, अगर इसे उद्देश्य-सी ऑब्जेक्ट के रूप में माना जाता है तो इसे पहले से ही एआरसी द्वारा संभाला जाता है, इसलिए इसे स्थानांतरित करने की आवश्यकता नहीं है। –
@BradLarson क्या इसे बंद करने का कोई तरीका है? या, मैं इसे कैसे लिखूं ताकि यह आईओएस 5 और आईओएस 6 दोनों के तहत संकलित हो? – fishinear