वहाँ कोई अंतर नहीं है कि कोड में, दोनों ही मामलों में यह मूल्यांकन करता UITableViewCell?
को वास्तविक अंतर है:
- पहला मामला
UITableViewCell?
करने के लिए एक खिन्न में हमेशा सफल होने की उम्मीद है (भले ही यह शून्य है), इसलिए dequeueReusableCellWithIdentifier
ऐसा कुछ देता है जो UITableViewCell
(या इससे प्राप्त विरासत का एक उदाहरण) का उदाहरण नहीं है, तो यह रनटाइम पर विफल रहता है। अभिव्यक्ति देता है एक वैकल्पिक UITableViewCell?
- दूसरे मामले में
डाली वैकल्पिक है: यदि वस्तु dequeueReusableCellWithIdentifier
द्वारा वापस न UITableViewCell
का एक उदाहरण है और न ही एक उपवर्ग का एक उदाहरण है, खिन्न शान से शून्य करने के लिए इसलिए कोई क्रम के साथ मूल्यांकन करता है (त्रुटि)।
पाठ्यक्रम
dequeueReusableCellWithIdentifier
के
हमेशा एक UITableViewCell
देता है, यही कारण है कि वहाँ अपने कोड में कोई अंतर नहीं है। लेकिन अन्य संदर्भों में अंतर मौजूद हो सकता है और आप उस की देखभाल करने के क्रम त्रुटियों
'UITableViewCell के रूप में? 'परिणाम स्विफ्ट 2' AnyObject में संकलन त्रुटि में परिणाम? UITableViewCell में परिवर्तनीय नहीं है? ' – onmyway133