दिलचस्प पोस्ट
युग के बाद से सेकंड के साथ एक डेटैट ऑब्जेक्ट प्रारंभ करें कैसे इन-कॉल स्थिति पट्टी UIViewController के दृश्य आकार को प्रभावित करता है? (और इसे ठीक से कैसे संभालना है) आइट्यून्स कनेक्ट करने पर अपलोड करते समय "एप्लिकेशन को कोडिग सत्यापन" को कैसे हल किया जाए? क्यों स्टेटful और स्टेटलेस बीन्स विपरीत तरीके से व्यवहार करते हैं? डायनामिक पेपल बटन एन्क्रिप्शन मैं उबंटू पर PhantomJS कैसे सेटअप और चला सकता हूँ? कुछ कार्य पूरा होने तक C # कंसोल में इनपुट को अक्षम करना रिफ्रेश पर स्वचालित ब्राउज़र स्क्रॉल को रोकें फ़ाइल सार्वभौमिक (तीन स्लाइसें) है, लेकिन इसमें आईओएस पर स्थैतिक पुस्तकालयों के लिए एआरएमवी 7-एस टुकड़ा त्रुटि शामिल नहीं है, वैसे भी बायपास करने के लिए? VBScript जैसे फ़ाइल सेसिफ्टऑब्जेक्ट के भीतर से नेटवर्क साझा करें मैं Android SQLite तालिका में पंक्तियों की संख्या को कैसे सीमित कर सकता हूं पायथन में एक फ़ाइल को यूटीएफ -8 में कनवर्ट कैसे करें? सी ++ में स्ट्रिंग से गणित के भाव का मूल्यांकन करना पायथन टाइम। नींद ओपनसीवी में गतिशील पुस्तकालयों के बजाय स्थैतिक पुस्तकालयों का उपयोग करना

स्विफ्ट 3.0 में यूआईवीआईयूईई () कंस्ट्रक्टर का क्या हुआ?

स्विफ्ट 2.2 में, मैंने अक्सर let x = UIView?() समान एक संक्षिप्त सिंटैक्स का उपयोग करके चर की घोषणा की है let x = UIView?() इसने x को UIView? दिया UIView? प्रकार, और nil साथ इसे आरंभ किया (बेशक, आप इन उदाहरणों में UIView बजाय किसी भी प्रकार का उपयोग कर सकते हैं)

हालांकि, जब मैं स्विफ्ट 3.0 में ऐसा करता हूं, मुझे एक त्रुटि मिलती है: Cannot invoke initializer for type 'UIView?' with no arguments Cannot invoke initializer for type 'UIView?' with no arguments यह भी कहता है कि Overloads for 'UIView?' exist with these partially matching parameter lists: (Wrapped), (nilLiteral: ()) Overloads for 'UIView?' exist with these partially matching parameter lists: (Wrapped), (nilLiteral: ()) । किसी तरह, मुझे नहीं लगता कि UIView?(nilLiteral: ()) काफी बाद मैं क्या कर रहा हूँ।

स्वाभाविक रूप से, वही काम करने के लिए अन्य वैकल्पिक विधियां हैं, जैसे let x: UIView? = nil let x: UIView? = nil और let x = nil as UIView() , लेकिन वे पहले से उपयोग किए जाने वाले विधि की तुलना में अधिक क्रियाशील हैं I क्या UIView?() कंस्ट्रक्टर को स्विफ्ट 3.0 में हटा दिया गया था, या इसे किसी ऐसे रूप में बदल दिया गया है जिसे मैंने अभी तक नहीं खोजा है?

Solutions Collecting From Web of "स्विफ्ट 3.0 में यूआईवीआईयूईई () कंस्ट्रक्टर का क्या हुआ?"

निम्नलिखित शून्य को शुरू करने के लिए प्रारंभ करता है, कोष्ठक पूरी तरह से अतिरेक होते हैं

 var x: UIView? return x == nil 

सच वापस करेगा

अधिक जानकारी के लिए डेवलपर दस्तावेज़ देखें

https://developer.apple.com/library/content//documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html

यदि आप एक वैकल्पिक वैरिएबल को डिफ़ॉल्ट मान प्रदान किए बिना परिभाषित करते हैं, तो वेरिएबल स्वचालित रूप से आपके लिए शून्य पर सेट होता है:

 var surveyAnswer: String? // surveyAnswer is automatically set to nil 

@ हामिश ने यूआईवीयूवीई () अब काम नहीं करने का कारण स्पष्ट करने के लिए एक टिप्पणी पोस्ट की है:

"वाक्यविन्यास UIView? वैकल्पिक के लिए वाक्यात्मक चीनी है, इसलिए UIView? () केवल वैकल्पिक। इण्टरिट के लिए वाक्यात्मक चीनी है। स्विफ्ट 2 में, वैकल्पिक का init () एक नया वैकल्पिक मान सेट करता है। तो हां, यह ठीक से काम कर रहा था। स्विफ्ट 3 में हालांकि, यह प्रारंभकर्ता हटा दिया गया है, यही कारण है कि UIView? () अब "