2015-01-28 18 views
9
class XYActivity: UIActivity,YouTubeHelperDelegate 
{ 
    var youTubeHelper:YouTubeHelper 
    var uploadURL: String! 
    override init() { 
     self.youTubeHelper = YouTubeHelper() 
    } 
    override func activityType() -> String? { 
     return nil 
    } 
// 
} 

मैं अपलोडर सार्वजनिक बनाना चाहता हूं, यानी, अन्य वर्ग में असाइन किया जाना है। जब मैं var uploadURL:String! के सार्वजनिक रूप से जोड़ता हूं तो यह मुझे आंतरिक के रूप में बनाने का सुझाव देता है। मैं इसे सार्वजनिक बनाना चाहता हूं। कृपयास्विफ्ट: सार्वजनिक परिवर्तनीय घोषित करें

उत्तर

16

इसे सार्वजनिक बनाने के लिए, कक्षा को सार्वजनिक घोषित किया जाना चाहिए।

डिफ़ॉल्ट रूप से संशोधक आंतरिक है, जो कक्षाओं, विधियों और गुणों को वर्तमान मॉड्यूल में कहीं भी निजी रूप से उपलब्ध नहीं घोषित करता है।

यदि आपकी परियोजना में केवल एक ऐप शामिल है, तो आपको शायद सार्वजनिक की आवश्यकता नहीं है - आंतरिक का एक ही प्रभाव है। यदि आप इसके बजाय एक ढांचा विकसित कर रहे हैं, और उस मॉड्यूल को अन्य मॉड्यूल में कोड से सुलभ करने की आवश्यकता है, तो आपको पूरी कक्षा और उजागर विधियों/गुणों को जनता के रूप में घोषित करने की आवश्यकता है।

सुझाई पढ़ने: Access Control

अंश का वर्णन डिफ़ॉल्ट पहुँच स्तरों:

सभी संस्थाओं अपने कोड में (कुछ विशिष्ट अपवादों के साथ, के रूप में इस अध्याय में बाद में बताया गया है) एक डिफ़ॉल्ट स्तर का एक्सेस है आंतरिक यदि आप स्वयं को एक स्पष्ट पहुंच स्तर निर्दिष्ट नहीं करते हैं। नतीजतन, कई मामलों में आपको अपने कोड में एक स्पष्ट पहुंच स्तर निर्दिष्ट करने की आवश्यकता नहीं है।

और एकल लक्ष्य क्षुधा के लिए पहुँच स्तर:

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

+0

तो मुझे सभी विधियों के लिए सार्वजनिक या निजी का जिक्र करना चाहिए? यह मुझे ऐसा करने के लिए कहता है यदि मैं वर्ग घोषणा – rishu1992

+0

के सार्वजनिक रूप से जोड़ता हूं यदि आप एक संशोधक निर्दिष्ट नहीं करते हैं, तो डिफ़ॉल्ट 'आंतरिक' है। किसी इकाई की दृश्यता को वर्तमान फ़ाइल में सीमित करने के लिए आप 'निजी' का उपयोग करते हैं जहां इसे परिभाषित किया गया है। आप इसे किसी भी मॉड्यूल में उपलब्ध कराने के लिए 'सार्वजनिक' का उपयोग करते हैं। मैं प्रलेखन पढ़ने का सुझाव देता हूं, मैंने जवाब में लिंक पोस्ट किया है। – Antonio

3

यदि आप इसमें शामिल वर्ग भी सार्वजनिक कर सकते हैं, तो इसे सार्वजनिक कर सकते हैं, इसलिए इसके अनुसार इसे बदलें।

+0

तो मुझे इस तरह सार्वजनिक जोड़ना चाहिए? सार्वजनिक वर्ग XYActivity: .... – rishu1992

+0

हां, बिल्कुल इसी तरह। –

1

जुस्ट शुरू करने पर एक कीवर्ड "सार्वजनिक" जोड़ें इससे यह ऐप में सार्वजनिक हो जाएगा।

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