से विशिष्ट NSManagedObject प्राप्त करें मेरे पास "प्रश्न" नाम के साथ मेरे "ProjName.xcdatamodel
" में एक इकाई है। इस इकाई में मेरे पास 5 विशेषताएं हैं ("आइस हॉकी", "वॉलीबॉल", "सॉकर", ...), प्रत्येक transformable
टाइप करें। प्रत्येक पंक्ति (विशेषता) एक एनएसएमयूटेबलएरे से भरी जाएगी। मैं इस इकाई में एक विशिष्ट विशेषता का मान प्राप्त करना चाहता हूं। यह मेरा कोड है:स्विफ्ट इकाई (कोर डेटा)
func readQuestionsFromCore(sport:NSString) -> NSMutableArray {
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext!
var request = NSFetchRequest(entityName: "Questions")
request.returnsObjectsAsFaults = false
var results: NSArray = context.executeFetchRequest(request, error: nil)!
var qArr:NSMutableArray!
if results.count > 0 {
var res = results[0] as NSManagedObject
qArr = res.valueForKey("\(sport)") as NSMutableArray
return qArr
} else {
qArr = []
return qArr
}
}
यह बिल्कुल के बाद से मैं डेटाबेस (results[0] as NSManagedObject
) से परिणामों के पहले सूचकांक बाहर ले काम नहीं करेगा और इस तरह यह अगर उस तत्व valueForKey मैं 'के समान नहीं है दुर्घटना होगा मैं देख रहा हूँ
मुझे एक परिणाम पंक्ति कैसे मिलती है जिसे मैं ढूंढ रहा हूं? अर्थात। "सॉकर", या कम से कम मैं परिणामों के माध्यम से किसी भी तरह से लूप कर सकता हूं और प्रत्येक परिणाम पंक्ति की चाबियों की तुलना कर सकता हूं, इसलिए जब मैं गलत कुंजी के साथ प्रयास करता हूं तो यह क्रैश नहीं होता है? इस तरह कुछ की तरह:
for (res) in results as NSManagedObject {
if(res.key == "soccer") {
qArr = res.valueForKey("soccer") as NSMutableArray
return qArr
}
}
मुझे आशा है कि मैं अपने स्पष्टीकरण में स्पष्ट हूं!
सहायता वास्तव में सराहना की जाएगी। मैंने इंटरनेट पर खोज की है कि कोई भी भाग्य नहीं है! – user2099024
मुझे लगता है कि आपको अपने "अनुरोध" में एक एनएसपी्रेडिकेट जोड़ने की आवश्यकता है। फिर आप फ़िल्टर कर सकते हैं कि आप किस डेटा को इकाई से वापस प्राप्त करना चाहते हैं। उदाहरण के लिए इस लिंक पर एक नज़र डालें: http://nshipster.com/nspredicate/ –
@ केविन हॉर्गन घर पर कब कोशिश करेंगे! – user2099024