2015-05-24 12 views
9

में लिंक्ड फ्रेमवर्क और लाइब्रेरीज़ मेरा आईओएस ऐप AVPlayer के साथ लगता है। ऐसा करने के लिए मैं एक वर्ग के शीर्ष पर निम्न लिखें पड़ा:स्विफ्ट प्रोजेक्ट

import AVFoundation 

मैं ऑब्जेक्टिव-सी पृष्ठभूमि से आया है, तो मैं नीचे पर धन बटन क्लिक करके वहाँ AVFoundation Xcode प्रोजेक्ट के जनरल टैब के पास गया और कहा कि लिंक्ड फ्रेमवर्क और लाइब्रेरी। मेरी परियोजना में पीला टूलबॉक्स दिखाई दिया। क्या मुझे यह करना है?

मैंने इसे परियोजना से हटाने की कोशिश की - दोनों साइडबार और एक्सकोड प्राथमिकताओं में, मेरा ऐप अभी भी काम करता है और लगता है। तो import आपके लिए सबकुछ संभालने वाला है?

+0

'आयात' सबकुछ संभालने लगता है (कम से कम ऐप्पल के पुस्तकालयों के लिए)। – nhgrif

उत्तर

8

हाँ, import स्विफ्ट में मूल रूप से ऑब्जेक्टिव-सी में @import (के रूप में #import <…> के खिलाफ) है, जो मॉड्यूल आयात के समान है।

यह नई सुविधा (मॉड्यूल) हाल ही में (? 1-2 साल पहले) शुरू की गई थी और आवश्यकता के बिना आप के लिए रूपरेखा आयात करता है स्पष्ट रूप से इसे के साथ एप्लिकेशन को आप लिंक करना: जब मॉड्यूल (ObjC में @import का उपयोग कर, import स्विफ्ट में), कंपाइलर मॉड्यूल का नाम देखेगा और आपके ऐप को आपके लिए अंतर्निहित और स्वचालित रूप से ढांचे के साथ लिंक करेगा।

तो यह एक नई सुविधा है जिस दिन हमने उस दिन वापस नहीं देखा था जब #import एकमात्र विकल्प था और हमें मैन्युअल रूप से सिस्टम ढांचे को मैन्युअल रूप से जोड़ना पड़ा।

(ध्यान दें कि आईओएस 8 तक पहुंचने तक मॉड्यूल केवल ऐप्पल के ढांचे के लिए उपलब्ध थे। लेकिन अब जब आप आईओएस 8 के निर्माण के दौरान अपने गतिशील ढांचे का निर्माण कर सकते हैं, तो वे तीसरे पक्ष के ढांचे के लिए भी उपलब्ध हैं, जब तक उनके पास एक module.map)


आप रुचि रखते हैं, तो आप अधिक in the Clang documentation itself पढ़ सकते हैं। विभिन्न ब्लॉग पोस्ट भी विषय के बारे में बात करते हैं (उदाहरण के लिए पहला Google परिणाम this blog post)

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