2014-10-16 12 views
10

मैं अपने स्विफ्ट ऐप में अक्सर एक तृतीय पक्ष स्विफ्ट फ्रेमवर्क का उपयोग करता हूं और प्रत्येक स्विफ्ट फ़ाइल में बार-बार import ModuleName लिखने के बिना इसका उपयोग करना चाहता हूं।स्पष्ट रूप से विशिष्ट स्विफ्ट मॉड्यूल आयात करें

क्या डिफ़ॉल्ट आयात निर्दिष्ट करने का कोई तरीका है जैसे कि .pch फ़ाइल का उपयोग कर उद्देश्य-सी में संभव था?

मैंने पहले से ही एक्सकोड बिल्ड सेटिंग्स और swiftc झंडे की जांच की है लेकिन उनमें से कोई भी इस कार्यक्षमता को प्रदान नहीं करता है।

उत्तर

32

असल में वहाँ एक बहुत ही आसान तरीके को मैं के बारे में पहले सोचा था कि हो सकता है है ...

सीधे शब्दों में ब्रिजिंग अपने ऐप्स प्रोजेक्ट के ऑब्जेक्टिव-सी के लिए निम्न शीर्ष लेख:

@import ModuleName; 

स्विफ्ट इसे भी ले जाएगा! प्रत्येक स्विफ्ट फ़ाइल में import ModuleName की आवश्यकता नहीं है जहां आप मॉड्यूल का उपयोग करना चाहते हैं।

+0

एक आकर्षण की तरह काम करता है। धन्यवाद! –

+1

काम नहीं करेगा यदि लक्ष्य बनाया जा रहा है एक स्विफ्ट फ्रेमवर्क अन्य मॉड्यूल पर निर्भर है क्योंकि ब्रिजिंग हेडर की अनुमति नहीं है –

+3

@MaxMacLeod yep यह केवल ऐप लक्ष्यों के लिए काम करता है। ढांचे के लिए एक ही परिणाम प्राप्त करने के लिए कोई कार्यक्षमता या कामकाज प्रतीत नहीं होता है। लेकिन मुझे इसका इस्तेमाल हुआ :) – fluidsonic

3

नहीं, उद्देश्य-सी .pch फ़ाइलों के लिए कोई स्विफ्ट एनालॉग नहीं है।

कोई छतरी लक्ष्य ढांचा बनाकर आयात विवरणों की संख्या को स्पष्ट रूप से कम कर सकता है जिसमें कई अन्य मॉड्यूल शामिल हैं, लेकिन निर्भर मॉड्यूल के स्पष्ट आयात से बचने का कोई तरीका नहीं है।

+2

उत्तर मैट के लिए धन्यवाद। मुझे लगता है कि आप सही हैं कि स्विफ्ट में ऐसा करने का कोई मानक तरीका नहीं है। लेकिन मुझे ओबीजेसी के ब्रिजिंग हेडर में केवल '@ आयात' का उपयोग करके एक ही परिणाम प्राप्त करने का एक तरीका मिला! – fluidsonic

+0

स्विफ्ट में '.swiftmodule' फ़ाइलें हैं जो आयात योग्य होती हैं जब कोई' स्विफ्टसी 'के' -I' तर्क के मान के रूप में अपना नामनाम प्रदान करता है। [एसडब्ल्यूएम (स्विफ्ट मॉड्यूल)] (http://github.com/jankuca/swm) इनके साथ बहुत मदद कर सकता है। –

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