नमूना कोड में मैंने वस्तुओं को घोषित करने की दो अलग-अलग शैलियों को देखा है। एक दूसरे के ऊपर क्या फायदा है?इन दो घोषणा शैलियों के बीच अंतर/फायदे क्या हैं
दोनों घोषित किया गया है के रूप में var btn: UIButton!
शैली 1:
btn = UIButton()
btn.translatesAutoresizingMaskIntoConstraints = false
btn.layer.borderColor = UIColor.blue.cgColor
btn.layer.borderWidth = 1
...
self.view.addSubview(btn)
शैली 2:
btn = {
let b = UIButton()
b.translatesAutoresizingMaskIntoConstraints = false
b.layer.borderColor = UIColor.blue.cgColor
b.layer.borderWidth = 1
...
return b
}()
self.view.addSubview(btn)
केवल लाभ मैं वर्तमान में देख रहे हैं कि दूसरी शैली बनाता है जब आपके पास कई ओबीजे हैं तो कोड अधिक सुगम है ECTS। आप उन्हें एक्सकोड में भी पतन कर सकते हैं। क्या कोई और फायदा है? रनटाइम पर दूसरा संस्करण "लागत" अधिक संसाधन नहीं है? कौन सा बेहतर है?
धन्यवाद
मुझे लगता है कि अगर एक फर्क नहीं पड़ता पता नहीं है, लेकिन इसकी सभी सेटअप पूरा कर लिया है के बाद दूसरी पद्धति केवल 'btn' को असाइन हैं (यानी नहीं छोड़ता' btn' आधा प्रारंभ त्रुटियों के मामले में) । – Thilo
मुझे लगता है कि यह एक उपयोगी है कि यह उपयोगी है। जब आप कोई ऑब्जेक्ट बनाना चाहते हैं जिसे बनाए गए कुछ मानों को बदलना/असाइन करना है, उदाहरण के लिए एक वैकल्पिक प्रॉपर्टी के साथ एक स्ट्रक्चर और इनिट विधि इसे असाइन नहीं कर सकती है। लेकिन आप एक ही समय में चर को अपरिवर्तनीय रखना चाहते हैं। – Surely
किसी भी मामले में बटन को एक स्पष्ट रूप से अनचाहे वैकल्पिक के रूप में घोषित नहीं किया जाना चाहिए। – nhgrif