अक्सर पूछे जाने वाले सवाल

मुझे Xcode के साथ डेटा बनाने में समस्या आ रही है.

बिल्ड से जुड़ी समस्याओं को डीबग करना देखें.

मैं इमारत बनाने के दौरान "तय नहीं है चिह्न" वाली गड़बड़ियों को कैसे ठीक करूं?

लिंक के लिए ज़रूरी सेटिंग देखें.

मुझे कमांड लाइन पर, j2objc इस्तेमाल करने में समस्या आ रही है.

j2objc के लिए कमांड लाइन लाने का सबसे तेज़ तरीका, javac से शुरू करना है, जिसमें क्लासपाथ (ज़रूरी नहीं), सोर्सपाथ (ज़रूरी नहीं), आउटपुट डायरेक्ट्री, और सोर्स फ़ाइलों की सूची जैसी जानकारी दी गई है. इसके सही तरीके से कंपाइल हो जाने के बाद, "j2objc" को "javac" से बदलें और j2objc के लिए खास फ़्लैग जोड़ें. ऐसा करने की वजह यह है कि j2objc फ़्रंट-एंड के तौर पर Java कंपाइलर का इस्तेमाल करता है. इसलिए, वह कंपाइलर की तरह ही तर्क का इस्तेमाल करता है. याद रखें: अगर यह कंपाइल नहीं होता, तो इसका अनुवाद नहीं किया जा सकता!

कचरा इकट्ठा करने की प्रक्रिया को कैसे मैनेज किया जाता है?

मेमोरी मैनेजमेंट देखें. हम Xcode के लीक होने की पहचान और प्रोफ़ाइलिंग टूल का इस्तेमाल करके, जनरेट किए गए कोड को बेहतर बनाते रहते हैं. इससे मेमोरी को मैनेज करने का तरीका बेहतर बनाया जा सकता है. हम J2ObjC का इस्तेमाल करने वाले प्रोजेक्ट को भी परफ़ॉर्मेंस और लीक का पता लगाने की निगरानी करने (जैसा कि सभी iOS प्रोजेक्ट को चाहिए) को मॉनिटर करने और कोई भी समस्या मिलने पर रिपोर्ट करने का सुझाव देते हैं.

अनुवाद किए गए कोड का साइज़ कैसे कम किया जा सकता है? अनुवाद की रफ़्तार किस तरह बढ़ाई जा सकती है?

डेड कोड एलिमिनेशन देखें.

j2objc .java फ़ाइलों के अंदर इंपोर्ट को कैसे हैंडल करता है?

j2objc, javac कंपाइलर का इस्तेमाल फ़्रंट-एंड के तौर पर करता है, इसलिए सभी इंपोर्ट उसी तरह से पढ़े जाते हैं जैसा JavaScript कंपाइलर करता है. यह बताने के लिए कि इंपोर्ट की गई क्लास कहां मिलेंगी, उन ही -classpath और -sourcepath विकल्पों का इस्तेमाल करें जिन्हें आप javac के साथ इस्तेमाल करेंगे. ऑब्जेक्टिव-सी फ़ाइलें जनरेट करते समय, बाहरी क्लास के रेफ़रंस इकट्ठा किए जाते हैं. साथ ही, जनरेट किए गए हेडर (.h) या इंप्लीमेंटेशन (.m) फ़ाइलों में ज़रूरत के मुताबिक #import डायरेक्टिव जोड़े जाते हैं.

संख्यात्मक टाइप के लिए कुछ कम से कम और ज़्यादा से ज़्यादा वैल्यू, Java की खास जानकारी से अलग क्यों हैं?

ये वैल्यू, Java से मिलने वाली वैल्यू से अलग होती हैं. ऐसा इसलिए, क्योंकि वे उन वैल्यू से बाहर होती हैं जिन्हें ऑब्जेक्टिव-सी कंपाइलर मान्य के तौर पर स्वीकार करेगा. इसके बजाय, हम /usr/include/values.h में बताई गई कम से कम और ज़्यादा से ज़्यादा वैल्यू का इस्तेमाल करते हैं.