2012-04-04 24 views
7

The Errorsत्रुटियाँ लागू

मेरी परियोजना में JSONKit.h और JSONKit.m फ़ाइलें आयात करने पर, मैं निम्नलिखित त्रुटियों मिलता है। मैंने ब्राउज किया है और ब्राउज किया है लेकिन किसी को भी इन समस्याओं का सामना करना पड़ता है?

सभी मैंने किया आयात फ़ाइलें था और निर्माण और उसके बाद मैं इस

प्राप्त यह कुछ मैं आयात करने के लिए भूल गया या है ... ??????

उत्तर

15

आप JSONKit फ़ाइलों में एआरसी (स्वचालित संदर्भ गणना) को अक्षम कर सकते हैं।

आम तौर पर कदम है:

  1. के चरण बिल्ड के तहत, अपनी परियोजना सेटिंग में जाएं> संकलित सूत्रों का कहना है
  2. फ़ाइलें आप एआरसी चाहते विकलांग का चयन करें और -fno-ObjC-चाप संकलक झंडे जोड़ें। आप फ़ाइलों को चुनकर "एंटर" कुंजी मारकर एक शॉट में एकाधिक फ़ाइलों के लिए झंडे सेट कर सकते हैं।

अधिक जानकारी के लिए कृपया इस पोस्ट को देखें: iOS 5 Best Practice (Release/retain?)

उम्मीद है कि यह मदद करता है।

संपादित

चर्चा के बाद, हम भी समस्या को हल करने के लिए कुछ अन्य विकल्प हैं। उदाहरण के लिए, आप जेएसओएनकिट को एआरसी संगत में परिवर्तित कर सकते हैं। लेकिन Mike Weller के कथन के अनुसार, इसे कन्वर्ट करना बहुत कठिन होगा क्योंकि JSONKit स्मृति प्रबंधित करने के लिए malloc का उपयोग करता है।

मुझे लगता है कि -fno-objc-arc कंपाइलर ध्वज समस्या का समाधान करने के लिए एक कम जोखिम और सुविधाजनक तरीका है।

+0

मुझे लगता है कि यह केवल आंशिक रूप से सही उत्तर है। –

+1

@ पार्थबैथ हाँ, मैं सहमत हूं। इस समस्या को हल करने के कुछ और तरीके हो सकते हैं। उदाहरण के लिए, हम JSONKit को किसी अन्य जेसन लिब में बदल सकते हैं जो जीसीडी का समर्थन करता है। -fno-objc-arc कंपाइलर झंडे का उपयोग करना मेरी राय में इस समस्या को हल करने का एक कम जोखिम वाला तरीका है। – tangqiaoboy

1

tangqiaoboy का उत्तर उन त्रुटियों को हल करेगा लेकिन आप कक्षा NSJSONSerialization का उपयोग करने पर भी विचार कर सकते हैं। यह NSDictionarys और NSArrays को JSON और इसके विपरीत में परिवर्तित करना वास्तव में आसान बनाता है।

शुभकामनाएं!

+0

जहां तक ​​मुझे पता है, 'NSJSONSerialization' केवल ios5 में मौजूद है। अगर हम आईओएस 4 का समर्थन करना चाहते हैं, तो हमें तीसरे भाग का उपयोग करना होगा। – tangqiaoboy

-2

आप Edit menu -> Refactor -> Convert to Objective-C ARC...

के लिए निम्न चरणों

जाओ द्वारा ARC संगत में अपनी परियोजना में बदल सकते हैं, या फिर आप अपने वर्तमान प्रोजेक्ट में ARC उपयोग करना चाहते हैं do not तो tangqiaoboy के चरणों का पालन करें।

+1

JSONKit एआरसी के साथ काम नहीं करता क्योंकि इसकी कस्टम मेमोरी प्रबंधन है। –

+0

@ माइकवेलर: हम एआरसी का उपयोग कर कोड रिफैक्टर क्यों नहीं कर सकते? –

+0

@ माइकवेलर: मैं वर्तमान में बिना किसी समस्या के एआरसी के साथ JSONKit का उपयोग कर रहा हूं ?? मुझे नहीं लगता कि आपने कभी भी एआरसी के साथ JSONKit की कोशिश की है !! – Devang

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