मैं ऐसे ऐप पर काम कर रहा हूं जो SQL डेटा को SQLite रिकॉर्ड्स प्रबंधित करने के लिए बैकएंड के रूप में उपयोग करता है। मेरे पास तारों और संख्याओं के साथ काम कर रहा सब कुछ है, लेकिन बस बस फ़ील्ड जोड़ने की कोशिश की है और चीजों को काम करने के लिए प्रतीत नहीं होता है।कोर डेटा और बूल सेटअप
.xcdatamodel में, मैंने isCurrentlyForSale
नामक मेरी ऑब्जेक्ट में एक फ़ील्ड जोड़ा है जो वैकल्पिक नहीं है, क्षणिक नहीं है, और अनुक्रमित नहीं है। गुण का प्रकार डिफ़ॉल्ट मूल्य संख्या के साथ बूलियन पर सेट है।
जब मैं डाटा मॉडल से वर्ग फ़ाइलों बनाया, बॉयलरप्लेट कोड ज शीर्षक में इस संपत्ति के लिए जोड़ा गया था:
@property (nonatomic, retain) NSNumber * isCurrentlyForSale;
@dynamic isCurrentlyForSale;
के साथ
मीटर में कार्यान्वयन फ़ाइल।
मैंने हमेशा बुलियन के साथ सरल बूल के रूप में काम किया है। मैंने पढ़ा है कि मैं NSNumber के numberWithBool
और boolValue
विधियों का उपयोग कर सकता हूं, लेकिन यह कुछ आसान के लिए अतिरिक्त कोड की तरह लगता है।
क्या हेडर में @property को एक साधारण BOOL में बदल दिया जा सकता है? यदि ऐसा देखने के लिए कुछ भी है?
धन्यवाद -जॉन
एक सेटर और न ही संपत्ति में "है" होना चाहिए। यही कारण है कि '@ संपत्ति' में 'गेटर =' सेटिंग है। और हाँ, कोर डेटा का हिस्सा होने वाले आदिम एक्सेसर्स का उपयोग करके आप '@ property' को BOOL में बदल सकते हैं। –
@ मार्कस हां, मुझे पता है कि सेटर्स में 'आईएस' नहीं होना चाहिए, लेकिन मैंने इसे इसलिए रखा क्योंकि 'सेट वर्तमान में फोर्ससेल:' पहले ही सीडी द्वारा लिया गया था (और मुझे 'गेटर = 'और' सेटर = 'के बारे में पता है। और क्या आप कह रहे हैं कि आप हेडर में 'NSNumber * '' BOOL' को बदल सकते हैं और यह काम करेगा?वह * निश्चित रूप से * मुझे आश्चर्य होगा। –