2016-06-20 2 views
11

swift.org/migration-guide के अनुसार, प्रेषण और संबंधित कार्यों में एक नया नया स्विफ्ट इंटरफ़ेस है (उदा। dispatch_async ->DispatchQueue.async)। इसके अलावा अन्य नींव प्रकार Data और DateNSData और NSDate के बजाय मूल्य प्रकारों जैसे जोड़े गए हैं।स्विफ्ट 3 लिनक्स वीसी मैक डिस्पैच्यूयू

हालांकि, लिनक्स पर स्विफ्ट 3 (डेवलपर पूर्वावलोकन 1) के ओपन सोर्स संस्करण पर, ubuntu15.10 संकलक इन सभी परिवर्तनों को अस्वीकार करता है। वास्तव में, जिथब पर स्विफ्ट और स्विफ्ट-कोरलिब्स के ओपन सोर्स संस्करण को देखते हुए, मुझे वास्तव में इनमें से कोई भी परिवर्तन दिखाई नहीं देता है। चूंकि यह एक्सकोड डेवलपर पूर्वावलोकन पर संकलित होगा, इससे मुझे विश्वास करने के लिए प्रेरित किया गया है: मैं लिनक्स पर कुछ गलत कर रहा हूं या ये परिवर्तन ऐप्पल शाखा में किए गए हैं, न कि ओपन सोर्स शाखा। क्या कोई इसे सत्यापित कर सकता है और यदि उत्तरार्द्ध मामला है, और यदि हां, तो हम कैसे जानते हैं कि ऐप्पल शाखा में ओपन सोर्स शाखा बनाम परिवर्तन क्या होंगे?

+2

यदि मुझे गलत नहीं है, तो दिनांक, यूआरएल, आदि प्रकार यहां हैं: https://github.com/apple/swift/tree/master/stdlib/public/SDK/ फाउंडेशन और यहां प्रेषण: https: //github.com/apple/swift/tree/master/stdlib/public/SDK/Dispatch –

उत्तर

3

Foundation और Dispatch स्रोत में ओवरले खोजने के लिए Brad Larson पर धन्यवाद।

एसडीके ओवरले: swift.org के अनुसार एप्पल प्लेटफार्मों के लिए विशिष्ट, एसडीके ओवरले (stdlib/सार्वजनिक/एसडीके में लागू) प्रदान करते हैं स्विफ्ट-विशिष्ट संस्करण भी और मौजूदा ऑब्जेक्टिव-सी चौखटे में सुधार करने के लिए संशोधन उनके स्विफ्ट में मैपिंग। विशेष रूप से, फाउंडेशन ओवरले उद्देश्य-सी कोड के साथ इंटरऑपरेबिलिटी के लिए अतिरिक्त समर्थन प्रदान करता है।

tl; इन फ़ोल्डर्स में कुछ भी डॉ ऐप्पल प्लेटफार्म हैं। अभी भी यह सुनिश्चित नहीं है कि उन्होंने libdispatch के बाद से ऐप्पल प्लेटफॉर्म पर डिस्पैच ओवरले क्यों प्रतिबंधित किए हैं, ओपन सोर्स और लक्ष्यीकरण लिनक्स भी है, लेकिन यह मेरे प्रारंभिक प्रश्न का उत्तर देता है।

संपादित करें: त्वरित मेलिंग सूचियों के माध्यम से पुष्टि करने में सक्षम था कि प्रेषण ओवरले के उद्देश्य-सी रनटाइम पर कुछ निर्भरता है। गैर-डार्विन प्लेटफार्मों के लिए उन्हें लागू करने के लिए काम है लेकिन समय पर कोई गारंटी नहीं है।

0

Swift 3 Evolution Github page देखें। वे भाषा में सभी प्रस्तावित परिवर्तनों को सूचीबद्ध करते हैं, और उन लोगों द्वारा अलग करते हैं जिन्हें लागू किया गया है और जो नहीं हैं। प्रस्ताव एसई -0088: स्विफ्ट 3 नामकरण के लिए libdispatch को आधुनिकीकरण "अभी तक लागू सूची" पर है क्योंकि कई अन्य परिवर्तन हैं।

जहां तक ​​डेटा और दिनांक का संबंध है, मैं नहीं कह सकता, क्योंकि मुझे विश्वास है कि आने वाले कोर पुस्तकालयों का हिस्सा है, और मैं अभी तक उन लोगों को बहुत विस्तार से देखने में सक्षम नहीं हूं। शायद आप Swift Core-Libs Github पेज भी देख सकते हैं, हालांकि स्टेटस पेज संदर्भ एनएसडीटा और एनएसडीएट पर किए गए हैं, नए डेटा प्रकारों का कोई उल्लेख नहीं है।

11

स्विफ्ट 3.0 रिलीज संस्करण जीसीडी सरल import Dispatch के साथ लिनक्स पर उपलब्ध है, जो थोड़ा उलझन में है क्योंकि आईओएस/मैकोज़ पर इसकी आवश्यकता नहीं है, जहां Dispatch मॉड्यूल डिफ़ॉल्ट रूप से आयात किया जाता है।