2011-10-08 10 views
5

संपादित करें: चूंकि मैंने अभी तक एक्सकोड 4 इंस्टॉल नहीं किया है, इसलिए मैं जानना चाहता हूं कि एमडी 2.8 एक्सकोड 3.2.6 के साथ पूरी तरह से संगत है या नहीं। विशेष रूप से, क्या मैं MT documentation में वर्णित नई प्रक्रिया के साथ आउटलेट और क्रियाओं को कनेक्ट करने में सक्षम हूं?मोनोडेफ़ेफ़ 2.8, एक्सकोड 3.2.6, इंटरफेस बिल्डर: आउटलेट्स और एक्शन

मैंने अभी मोनो डेवेल (एमडी) 2.8 स्थापित किया है। ऐसा लगता है कि मैं काम नहीं कर रहा था। एक ही पेड़ के अंदर

  • Controller.xib.cs
  • -

    • Controller.xib <:

      एमडी में 2.6 जब मैं एक नया UIViewController बनाते हैं तो वह नियंत्रक निम्नलिखित की तरह प्रस्तुत किया है

    • Controller.xib.designer.cs

इसके अतिरिक्त यदि मैं एक xib फ़ाइल खोलता हूं, तो Controller.xib, केवल इंटरफ़ेस बिल्डर (आईबी) खोला जाता है। अगर मैं xib में आउटलेट जोड़ता हूं, तो आउटलेट Controller.xib.designer.cs में दिखाई दे रहे हैं।

एमडी में 2.8 जब मैं एक नया UIViewController बनाते हैं तो वह नियंत्रक निम्नलिखित की तरह प्रस्तुत किया है:

  • Controller.xib < - एक ही पेड़ के अंदर कोई और अधिक
  • Controller.cs
    • Controller.designer.cs

तो मेरे पास दो की बजाय दो फाइलें हैं।

इसके अलावा यदि मैं एक xib फ़ाइल खोलता हूं, तो Controller.xib, आईबी और एक्सकोड खोले जाते हैं। यदि मैं xib में आउटलेट जोड़ता हूं, तो आउटलेट डिज़ाइनर में दिखाई नहीं दे रहे हैं।

कोई सुझाव?

+2

मैं अच्छी तरह से monodevelop आदि में निपुण हूँ अभी तक नहीं है, लेकिन आप monodevelop के बारे में ब्लॉग प्रविष्टि नोटिस और MonoTouch अब Xcode 4 का उपयोग करता है? –

उत्तर

6

monodevelop 2.8 क्रम Xcode 4.

इंटरफ़ेस बिल्डर Xcode 4 में एकीकृत समर्थन करने के लिए एक नया xib डिजाइनर मॉडल पेश नहीं रह गया है xib फाइलों में परिभाषित करने कक्षाएं, दुकानों और कार्यों का समर्थन करता है। यह माप अब MonoDevelop के मॉडल के उपयोग के लिए संभव नहीं है जहां यह xib फ़ाइलों से * .xib.designer.cs फ़ाइलों को उत्पन्न करता है। इसके बजाए, इंटरफेस बिल्डर ऑब्जेक्टिव-सी स्रोत कोड से आउटलेट और क्रियाएं पढ़ता है। MonoDevelop का समाधान सी # कक्षाओं को उद्देश्य-सी स्टब्स में सिंक करना है।

जब आप मोनो डेवेल 2.8 से एक xib फ़ाइल खोलते हैं, तो मोनो डेवलपमेंट एक अस्थायी एक्सकोड प्रोजेक्ट बनाता है जिसमें ऑब्जेक्टिव-सी स्टब्स ऑब्जेक्टिव-सी के सामने आते हैं, यानी एनएसओब्जेक्ट से प्राप्त कक्षाएं या स्पष्ट रूप से पंजीकृत हैं एक [Register("SomeName")] विशेषता। इसके बाद यह उस परियोजना के संदर्भ में xib फ़ाइल खोलता है, ताकि इंटरफ़ेस बिल्डर सभी उपलब्ध प्रकारों और आउटलेट और उन पर कार्रवाई देखे। यदि एक्सकोड और क्रियाएं इसके नियंत्रण-ड्रैग सिस्टम का उपयोग कर एक्सकोड 4 में जोड़े जाती हैं, तो वे स्वचालित रूप से मोनो डेवलपमेंट में * .designer.cs फ़ाइलों में आयात किए जाते हैं।

इसका मतलब है कि डिजाइनर फ़ाइलों को अब किसी अन्य फ़ाइल से उत्पन्न नहीं किया गया है, बल्कि वे वास्तविक स्थान हैं जहां जानकारी संग्रहीत की जाती है। अब डिजाइनर फाइलें xib के बजाय कक्षा के साथ जुड़े हुए हैं।

इस नए मॉडल Xcode 4 समर्थन के शीर्ष पर कई तेजी है:

  • अब यह कई xib फ़ाइलों के लिए संभव है एक ही कक्षा का संदर्भ लें।
  • परियोजना सभी सामग्री संसाधन और अन्य xib फ़ाइलें हैं, ताकि वे आसानी इंटरफ़ेस बिल्डर
  • इंटरफ़ेस बिल्डर से संदर्भित किया जा सकता सी # उपयोगकर्ता वर्ग भागों और आधार वर्ग ही नहीं, डिजाइनर वर्ग भागों पर लिखा दुकानों 'देख' होगा ।

इसके अलावा, अब मैन्युअल रूप से आउटलेट लिखना बहुत आसान है। सीधे शब्दों में उदाहरण

[Outlet ("someView")] 
UIView SomeView {get; set; } 

के लिए, एक संपत्ति के लिए Outlet विशेषता लागू दुर्भाग्य से नए मॉडल का मतलब है कि monodevelop नहीं रह गया है इंटरफ़ेस बिल्डर 3.2.x. में दुकानों और कार्यों के निर्माण के साथ एकीकृत करता है मेरी सिफारिश यह है कि आप एक्सकोड 4 में अपग्रेड करते हैं। प्री-एमडी 2.8 परियोजनाओं के लोडिंग और संपादन को ठीक काम करना चाहिए।

कृपया देखें http://docs.xamarin.com/ios/tutorials/transitioning_from_xcode_3_to_xcode_4

+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद। बहुत उपयोगी। –

+0

क्या इसका मतलब यह है कि एमडी 2.6 और एक्सकोड 3 के साथ उत्पन्न एमआईबी जो एमडी 2.8 और एक्सकोड 4 में अपग्रेड हो जाते हैं, पुराने प्रारूप में रहते हैं और जब तक मुझे कुछ बदलने की ज़रूरत नहीं होती है तब तक काम करते हैं? – Krumelur

+0

कोई रूपांतरण आवश्यक नहीं है। –

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