मैं थोड़ा उलझन में हूँ। जहां भी मैंने पढ़ा है, सुझाव देते हैं कि एआरसी का उपयोग करते समय, आपको अभी भी कोर फाउंडेशन ऑब्जेक्ट्स को रिलीज़ करने की आवश्यकता है जो समझ में आता है, एआरसी उन्हें प्रबंधित नहीं करता है। हालांकि, मैं एक तरीका है जिसके कुछ सीएफ तरीकों/वस्तुओं जो मैं पर CFRelease
इस्तेमाल किया, लेकिन वह फिर ऐप्स के क्रैश होने का कारण होता है का उपयोग करता है मिल गया है। मुद्दा uncommenting मेरी CFRelease
रों फिक्स लेकिन फिर मैं मैं एक स्मृति रिसाव मिल गया है यह सोचते हैं रहा हूँ?एआरसी और सीएफआरलीज?
क्या कोई यह बता सकता है कि किस चीज को रिलीज़ करने की आवश्यकता है और कौन नहीं है, या इस कोड के साथ गलत कुछ भी है?
+ (NSString *) fileExtensionForMimeType:(NSString *)type
{
CFStringRef mimeType = (__bridge CFStringRef)type;
CFStringRef uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassMIMEType, mimeType, NULL);
CFStringRef extension = UTTypeCopyPreferredTagWithClass(uti, kUTTagClassFilenameExtension);
NSString *ext = (__bridge NSString *)extension;
// CFRelease(mimeType);
// CFRelease(uti);
// CFRelease(extension);
return ext;
}
तीन बाहर टिप्पणी की CFRelease
कॉल मुद्दे के रूप में उल्लेख किया है ठीक है, लेकिन मैं जानता हूँ कि यह गलत है। मुझे क्या करना चाहिए?
क्या के साथ 3 टिप्पणी की आज्ञाओं गलत है। बस टिप्पणी हटाएं यह ठीक – Raptor
जब मैं उन्हें uncomment एक EXC_BAD_ACCESS अपवाद के साथ मेरी ऐप्लिकेशन क्रैश है। वाद्य यंत्रों में एक ट्रेस करना इस विधि को इंगित करता है और उन पंक्तियों पर टिप्पणी करता है – PaReeOhNos
आपको केवल यूटीआई और एक्सटेंशन जारी करना चाहिए, लेकिन माइम टाइप नहीं करना चाहिए क्योंकि आप माइम टाइप की संदर्भ संख्या में वृद्धि नहीं कर रहे हैं। आप बस इसे कास्टिंग टाइप कर रहे हैं।पिछली बार CFRelease के लिए असम्बद्धता और फिर मुझे बताएं कि क्या होता है –