2013-04-05 8 views
26

"एआरसी स्पष्ट संदेश Xcode में 'रिलीज' के भेजने की मनाही":मैं इस त्रुटि को कैसे ठीक कर सकते हैं: मैं एक छवि सरणी से iPhone में एक साधारण एनीमेशन छवि बनाने के लिए कोशिश कर रहा हूँ

- (void)viewDidLoad { 
    NSArray *imageArray; 
    imageArray = [[NSArray alloc] initWithObjects: 
        [UIImage imageNamed:@"sun1"], 
        [UIImage imageNamed:@"sun2"], 
        nil]; 
    fadeImage.animationImages = imageArray; 
    fadeImage.animationDuration = 1; 
    [imageArray release]; //==== HERE IS WHERE I GET THE ERROR ====== 

मैं कैसे कर सकता है इसे ठीक करो?

+1

आप अपनी पसंद जाओ [इस लिंक] के रूप में एआरसी निष्क्रिय कर सकते हैं [1], और कहा कि कोशिश करते हैं। [1]: http://stackoverflow.com/questions/6646052/how-can-i-disable-arc-for-a-single-file-in-a-project?answertab=active# टैब-टॉप –

+0

एक्सकोड में टूल "संपादित करें: रिफैक्टर: ऑब्जेक्टिव-सी एआरसी में कनवर्ट करें"। –

उत्तर

72

समाधान # 1:

बस रिहाई बयान को हटा दें। एआरसी आपके लिए इसका प्रबंधन करेगा।

[imageArray release]; // remove this line 

एआरसी ऑटो संदर्भ गणना है। मैन्युअल संदर्भ गिनती के विपरीत के रूप में।
डब्ल्यूडब्ल्यूडीसी से वार्ता के कुछ महान वीडियो हैं। यदि आप उन्हें देखना चाहते हैं तो मैं लिंक प्रदान कर सकता हूं।

Transitioning to ARC Release Notes में, देखने के एआरसी को लागू करता है नए नियम:

You cannot explicitly invoke dealloc, or implement or invoke retain, release, retainCount, or autorelease.

The prohibition extends to using @selector(retain), @selector(release), and so on.

समाधान # 2:

आप (एआरसी को कोड परिवर्तित करना चाहते हैं नहीं है, तो उदाहरण के लिए आप नहीं कर रहे हैं एक नया एप्लीकेशन लिखना, लेकिन पुराने को बनाए रखना/या आपने इतना कोड आयात किया है जो एआरसी में जा रहा है, इसके लायक नहीं है) आप एआरसी को अक्षम कर सकते हैं।

  • चयनित फ़ाइलों को के लिए एआरसी को अक्षम करने एआरसी अक्षम करने के लिए, आप विशिष्ट फ़ाइलों के लिए -fno-objc-arc संकलक ध्वज का उपयोग कर सकते हैं। लक्ष्य का चयन करें और Build Phases ->Compile Sources पर जाएं। Compiler Flags संपादित करें और -fno-objc-arc जोड़ें।

  • परियोजना के लिए एआरसी को अक्षम करने
    स्रोत: How to disable Xcode4.2 Automatic Reference Counting

    • आप परियोजना पर क्लिक करें, बाएं हाथ आयोजक में।
    • अगले कॉलम में अपना लक्ष्य चुनें।
    • शीर्ष पर बिल्ड सेटिंग्स टैब का चयन करें।
    • "उद्देश्य-सी स्वचालित संदर्भ गणना" पर स्क्रॉल करें (इसे
    • उपयोगकर्ता-परिभाषित सेटिंग्स समूह के अंतर्गत "CLANG_ENABLE_OBJC_ARC" के रूप में सूचीबद्ध किया जा सकता है), और इसे NO पर सेट करें।
+1

हालांकि, आपको शायद समाधान # 2 पर विस्तार करना चाहिए। विशेष रूप से, '-फनो-ओबीजेसी-आर्क' ध्वज आपका मित्र है। –

+0

@ रिचर्ड जे। रॉसीआईआई: हो गया। – Jean

+0

मैंने लाइन हटा दी ... –

संबंधित मुद्दे

 संबंधित मुद्दे