2015-11-05 3 views
24

के रूप में चिह्नित किया जाता है। मेरे पास फिल्म नामक कोर डेटा इकाई है जिसमें गुण शीर्षक और दिनांक है। मैंने देखा कि जेनरेट किए गए NSManagedObject उपclass में वैकल्पिक एनएसएएनएज्ड गुण होते हैं, भले ही मैंने कोर डेटा इंस्पेक्टर में गुणों को गैर वैकल्पिक के रूप में चिह्नित किया हो।एक्सकोड NSManagedObject उपclass में विकल्प होते हैं जब उन्हें गैर-वैकल्पिक

enter image description here

enter image description here

मैं मैन्युअल रूप से गैर वैकल्पिक संपत्ति के रूप में उसे बदलने या उसे वैकल्पिक के रूप में छोड़ करने के लिए एक बेहतर विकल्प है सकते हैं कर सकते हैं? क्यूं कर?

उत्तर

35

"वैकल्पिक" का मतलब कोर डेटा से स्विफ्ट करने के लिए कुछ अलग है।

  • एक कोर डाटा विशेषता वैकल्पिक नहीं है, तो यह एक गैर शून्य मूल्य जब आप परिवर्तनों को सहेजने के पास होना चाहिए। दूसरी बार कोर डेटा परवाह नहीं है अगर विशेषता शून्य है।
  • यदि कोई स्विफ्ट संपत्ति वैकल्पिक नहीं है, तो प्रारंभिक होने के बाद पर यह गैर-शून्य मूल्य होना चाहिए।

कोर डेटा विशेषता गैर-वैकल्पिक बनाना यह इंगित नहीं करता है कि यह शब्द की स्विफ्ट भावना में गैर-वैकल्पिक है। यही कारण है कि जेनरेट कोड इन गुणों को वैकल्पिक बनाता है - जहां तक ​​कोर डेटा का संबंध है, परिवर्तनों को सहेजते समय शून्य मान रखना कानूनी है।

+2

सुनिश्चित करें कि आप कम से कम किसी भी गैर-वैकल्पिक चर को 'ओवरराइड func awakeFromInsert() 'के भीतर असाइन करें। – adamek

4

यह एक ज्ञात मुद्दा है। कुछ लोग इसे प्रतिकूल प्रभाव के साथ गैर-वैकल्पिक में बदलते हैं, मैं इसे जिस तरह से उत्पन्न करता हूं उसे बनाए रखता हूं और जल्दी सुधार के लिए आशा करता हूं।

यदि आप दृश्यता और प्राथमिकता बढ़ाने के लिए ऐप्पल को एक बग सबमिट करते हैं तो यह हमेशा मदद करता है।

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