क्रॉस संगतता प्रदान करने के लिए, स्विफ्ट ब्रिजिंग हेडर की पीढ़ी के लिए अनुमति देता है ताकि उद्देश्य-सी स्विफ्ट कक्षाओं के साथ संवाद कर सके।संभावित उद्देश्य से बचने के लिए एक स्विफ्ट क्लास को प्रीफ़िक्स किया जाना चाहिए-सी संगतता टकराव मुद्दे
स्विफ्ट के अद्भुत नाम स्थान के कारण हमें अब हमारी स्विफ्ट फ़ाइलों को उपसर्ग करने की चिंता करने की आवश्यकता नहीं है क्योंकि उन्हें उनके ढांचे के नाम से रखा गया है। उदाहरण के लिए UIView
स्पष्ट रूप से UIKit.UIView
के रूप में नामस्थान है।
अब ऐप्पल ढांचे को धक्का दे रहा है, मैं सोच रहा था कि हेडर टकराव से बचने के लिए सर्वोत्तम प्रथाएं क्या हैं जब एक ही प्रतीकों के साथ दो तेज़ ब्रिजिंग हेडर मौजूद हैं।
एक उदाहरण: कहें कि हमारे पास दो ढांचे हैं जिन्होंने Downloader
नामक एक स्विफ्ट क्लास घोषित की है। Downloader
इंटरफ़ेस प्रदान करता है: downloadWithURL(url: NSURL)
ब्रिजिंग हेडर उत्पन्न करने से इन दोनों ढांचे के लिए एक डाउनलोडर-स्विफ्ट.h फ़ाइल मिल जाएगी। इस प्रकार टकराव पैदा होता है। इससे बचने के लिए सबसे अच्छे अभ्यास क्या हैं?