2013-08-23 10 views
6

में कनवर्ट करना मैं जावा कोड को ऑब्जेक्टिव-सी में कनवर्ट करने की कोशिश कर रहा हूं। नीचे दी गई कक्षा TestCodeRequest का विस्तार है। यह सोचकर कि इसे एक उद्देश्य सी समकक्ष में कैसे परिवर्तित करें। मुझे यह थोड़ा उलझन में मिल रहा है क्योंकि जावा स्थिर रूप से टाइप किया गया है, और सम्मेलन पर कॉन्फ़िगरेशन है। जबकि उद्देश्य-सी गतिशील रूप से टाइप किया गया है, और कॉन्फ़िगरेशन पर सम्मेलन। मेरे पास नीचे एक नमूना कोड है। कोई भी छोटा संकेत वास्तव में महान होना चाहिए।जावा को उद्देश्य सी

package com.TestCode.api; 

import java.io.IOException; 

import oauth.signpost.exception.OAuthCommunicationException; 
import oauth.signpost.exception.OAuthExpectationFailedException; 
import oauth.signpost.exception.OAuthMessageSignerException; 

import org.json.JSONObject; 

public class Categories extends TestCodeRequest { 

    public Categories(String apiKey, String apiSecret) { 
      super(apiKey, apiSecret, "categories"); 
    } 

    public Categories field(Object... fields) { 
     super.field(fields); 
     return this; 
    } 

    public JSONObject getCategories() throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException, IOException { 
     return this.get(); 
    } 

    public Categories categoriesField(Object... fields) { 
     return this.field(fields); 
    } 

} 

उत्तर

11

उद्देश्य सी अनुवादकों के लिए कई अच्छे जावा हैं। कोड के लिए सरल, उन सभी को काम करना चाहिए। जहां अनुवादकों को आम तौर पर बहुत सारी परेशानी होती है, उनके अलग-अलग दार्शनिकों (विशेष रूप से दिखने और अनुभव और उपयोगकर्ता इंटरैक्शन के क्षेत्र में) के कारण रनटाइम पुस्तकालयों में कॉल का अनुवाद करना होता है। यहां एक अच्छी नौकरी करने के लिए, उन्हें वाक्यविन्यास से वापस अर्थशास्त्र में जाना होगा, और सॉफ़्टवेयर के लिए यह बेहद मुश्किल है।

आपका वाक्यांश "जावा स्थिर रूप से टाइप किया गया है, और सम्मेलन पर कॉन्फ़िगरेशन। जबकि उद्देश्य-सी गतिशील रूप से टाइप किया गया है, और कॉन्फ़िगरेशन पर सम्मेलन" लेकिन इसका संदर्भ नहीं दे सकता है। विशेष रूप से जीयूआई विकास। भाषाओं का यह पहलू उनके लिए आंतरिक नहीं है, लेकिन उन पुस्तकालयों से संबंधित है जो डेवलपर्स आमतौर पर नियोजित करते हैं, कई मामलों में विशिष्ट ऑपरेटिंग सिस्टम पर निर्भर करते हैं। इसलिए, हम संभवतः एक आईओएस को एक स्विंग लुक-एंड-महसूस और बातचीत के तरीके से परिवर्तित करने के रूप में जावा से ऑब्जेक्टिव सी में कनवर्ट करने के बारे में ज्यादा बात नहीं कर रहे हैं।

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

  • Google J2ObjC
  • java2objc
  • JCGO यह एक सी में धर्मान्तरित उद्देश्य कुछ काम कर रहे है, तो यह काफी अच्छा हो सकता है। यदि उद्देश्य उद्देश्य सी को अपने सभी गौरव में सीखना नहीं है।
+0

एक बहुत अस्पष्ट सवाल का उत्कृष्ट जवाब। (वोट दिया गया) –

+0

उद्देश्य सी शानदार है? – noelicus

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