2009-12-11 9 views
6

मुझे कोर डेटा में कुछ डेटा संग्रहीत किया गया है जो कुछ दिखता है:क्या आप एनएसपीडिकेट के साथ "अद्वितीय नाम चुनें ..." निर्दिष्ट कर सकते हैं?

| नाम | पहचानकर्ता | अन्य_स्टफ |

मैं एक UITableView में नाम प्रदर्शित करने की आवश्यकता है, लेकिन मैं केवल अद्वितीय नाम-पहचानकर्ता जोड़े के साथ नाम प्रदर्शित करना चाहते हैं। तो इसके लिए:

John | 3 | foo 
Betty | 4 | foo 
Betty | 4 | bar 

मैं केवल जॉन, बेट्टी को लौटने की क्वेरी चाहता हूं। कुछ "अद्वितीय नाम का चयन करें, तालिका से पहचानकर्ता।"

NSPredicate के साथ ऐसा करना किसी भी तरह से, या मैं एक अलग कंटेनर में de-ठगा क्षेत्रों डालना करने के लिए है, तो उस पर खोज की आवश्यकता है?

उत्तर

10

कोर डाटा एक वस्तु ग्राफ प्रबंधन ढांचे है कि बस (वैकल्पिक) जारी रहती है किसी SQL लगातार दुकान में उस वस्तु ग्राफ के लिए होता है। ऑब्जेक्ट विशेषताओं, बस ऑब्जेक्ट्स क्वेरी करने का कोई तरीका नहीं है। आप जिसके परिणामस्वरूप सरणी से तो उदाहरणों क्वेरी कर सकता है,:

NSArray *instances; //from -[NSManagedObject executeFetchRequest:error:] 
NSArray *uniqueNames = [instances valueForKeyPath:@"@distinctUnionOfObjects.name"]; 

नाम संभालने name संपत्ति में है।

यदि आप चाहते हैं कि प्रत्येक उपयोगकर्ता के लिए एक नाम, एक आईडी और एकाधिक {foo, bar, ...} हो, तो आपको स्थिति को आईडी और आईडी के साथ उपयोगकर्ता इकाई के रूप में मॉडल करना चाहिए और कई foo/bar/etc का प्रतिनिधित्व करने वाली इकाई से संबंध।

आप कुंजी मूल्य कोडिंग मार्गदर्शिका के Collection Operators अनुभाग में @distinctUnionOfObjects (और अन्य संग्रह ऑपरेटर) के बारे में अधिक जानकारी प्राप्त कर सकते हैं।

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