मैं मुख्य रूप से आईफोन 6, 6 प्लस और आईपैड का उपयोग कर परीक्षण कर रहा हूं। आईफोन 5 सिम्युलेटर पर आज मेरे ऐप की कोशिश की, और कोर डेटा त्रुटि मिली।कोर डेटा स्केलर त्रुटि केवल कुछ डिवाइसों पर
CoreData: error: Property 'setId:' is a scalar type on class 'AppName.EntityName' that does not match its Entity's property's scalar type. Dynamically generated accessors do not support implicit type coercion. Cannot generate a setter method for it
अब, वहाँ कोई 'setId' मेरे एप्लिकेशन में वस्तु है, लेकिन निश्चित रूप से इकाई एक 'आईडी' वस्तु है, जो एक पूर्णांक के रूप में सेट कर दिया जाता है।
class Entity: NSManagedObject {
@NSManaged var id: Int
}
कोर डेटा मॉडल में, विशेषता प्रकार Integer64 पर सेट है। यह मेरी समस्या हो सकती है, क्योंकि मैंने यह जानकर कि सबसे अच्छा क्या था। मेरे पास मॉडल और कक्षा में अन्य विशेषताएं हैं, लेकिन वे सभी तार हैं।
यह एक फिक्स और स्पष्टीकरण दोनों की तलाश में है कि यह केवल कुछ उपकरणों पर क्यों होता है, इसलिए मैं सीख सकता हूं!
मैंने एक्सकोड को कक्षा बनाने दिया, लेकिन फिर मैंने आईडी को बाद में जोड़ा। साथ ही, अगर मैं संपत्ति को Int64 पर सेट करता हूं, तो मुझे इस संपत्ति में डेटा दर्ज करने का प्रयास करते समय अपने पूरे कोड को कनवर्ट करना होगा। मॉडल मिलान int बनाने के बजाय क्या कोई तरीका है? – Tim
@ टिम: कोर डेटा केवल आकार के पूर्णांक (16, 32, 64 बिट) तय किया गया है। –
मैं इसे देखता हूं। तो मेरे कोड में Int का उपयोग करने का कोई तरीका नहीं है और फिर सीडी में सहेजने पर एक आकार में परिवर्तित करें? स्पष्टीकरण के लिए निश्चित रूप से आभारी, मैं बस एक और सार्वभौमिक समाधान की तलाश में था। – Tim