यह मेरी समझ है कि एक्सकोड 6.3/स्विफ्ट 1.2 के रूप में, मैं कक्षा के अंदर स्थिर चर और विधियों का उपयोग कर सकता हूं। हालांकि, जब मैं एक स्थिर फ़ंक्शन को कॉल करके स्थिर चर को प्रारंभ करने का प्रयास करता हूं तो संकलक इसे पसंद नहीं करता है (मुझे नीचे दिए गए उदाहरण में त्रुटि 'अनसुलझा पहचानकर्ता getDefaultString का उपयोग' मिलता है)। यहाँ एक टुकड़ा है कि मेरी समस्या यह दर्शाता है:स्विफ्ट में स्थिर फ़ंक्शन को कॉल करके मैं एक स्थिर चर प्रारंभ क्यों नहीं कर सकता?
import Foundation
public class Settings {
private static var _bundle = NSBundle.mainBundle()
static func getDefaultString(key: String) -> String {
return _bundle.objectForInfoDictionaryKey(key) as! String
}
private static var _server = getDefaultString("DefaultServer")
public class var server: String {
get { return _server }
set { _server = newValue }
}
}
किसी की मदद कर सकते हैं मुझे समझने कारण है कि मैं ऐसा नहीं कर सकते?
यदि आप 'निजी स्थैतिक var _server = सेटिंग्स.getDefaultString ("DefaultServer") 'का उपयोग करते हैं तो यह काम करता है? – NobodyNada
वास्तव में, यह करता है। लेकिन मुझे समझ में नहीं आता क्यों? – markdb314