2014-06-26 8 views
5

डाली मैं CoreData का उपयोग अलग परिणाम प्राप्त करने के:स्विफ्ट CoreData DictionaryResultType निम्नलिखित कोड में

request.propertiesToFetch = NSArray(objects: "docID", "docName") 
    request.resultType = NSFetchRequestResultType.DictionaryResultType 
    request.returnsDistinctResults = true 

    var distinctResults: NSArray = context.executeFetchRequest(request, error: nil) 
    println(distinctResults) 

यह() println के उत्पादन में है:

( { डाक आईडी = 3; docName = "डॉ गोय"; }, { docID = 1; docName = "डॉ बार"; }, { docID = 0; docName = "डॉ फू"; }, { docID = 2; docName = "श्री बाज़"; } )

यह शब्दकोश के साथ एक सरणी है - मैं इस NSArray एक शब्दकोश में एक साथ पाश के लिए

धन्यवाद मदद के लिए डाली कर सकते हैं!

+0

आप किस प्रारूप में शब्दकोश चाहते हैं? – Jack

+0

क्षमा करें - मैं शब्दकोश पर डालना चाहता हूं – Maxim

उत्तर

4

एक NSArray किसी सरणी के रूप में इस्तेमाल किया जा सकता है, यह और अधिक जटिल है, क्योंकि आपकी प्रतिक्रिया की संरचना नहीं Array<Dictionary<Int,String>> है, यह वास्तव में है Array<Dictionary<String,Any>> जहां किसी भी DOCNAME के ​​लिए स्ट्रिंग है, लेकिन डाक आईडी के लिए int।

var dict = Dictionary<Int, String>() 
for nsdict in distinctResults as Array<NSDictionary> { 
    let docId = nsdict.valueForKey("docID") as? NSNumber as? Int 
    let docName = nsdict.valueForKey("docName") as? String 

    if docId && docName { 
     dict[docId!] = docName! 
    } 
} 
संबंधित मुद्दे