keypaths पर एक नज़र डालें। वे बहुत शक्तिशाली हैं और मैं ज्यादातर समय एनएसपीडिकेट कक्षाओं के बजाय उनका उपयोग करता हूं। इस तरीके से उन्हें अपने उदाहरण में प्रयोग करेंगे है ...
NSArray *uniqueStates;
uniqueStates = [customObjects valueForKeyPath:@"@distinctUnionOfObjects.state"];
नोट valueForKeyPath बजाय valueForKey का उपयोग।
यहां पर विस्तृत/काल्पनिक उदाहरण है ...
NSDictionary *arnold = [NSDictionary dictionaryWithObjectsAndKeys:@"arnold", @"name", @"california", @"state", nil];
NSDictionary *jimmy = [NSDictionary dictionaryWithObjectsAndKeys:@"jimmy", @"name", @"new york", @"state", nil];
NSDictionary *henry = [NSDictionary dictionaryWithObjectsAndKeys:@"henry", @"name", @"michigan", @"state", nil];
NSDictionary *woz = [NSDictionary dictionaryWithObjectsAndKeys:@"woz", @"name", @"california", @"state", nil];
NSArray *people = [NSArray arrayWithObjects:arnold, jimmy, henry, woz, nil];
NSLog(@"Unique States:\n %@", [people valueForKeyPath:@"@distinctUnionOfObjects.state"]);
// OUTPUT
// Unique States:
// "california",
// "michigan",
// "new york"
जबकि मैं भी @distinctUnionOfObjects की शक्ति, और इसलिए, इस सवाल का जवाब उपयोगकर्ता probablyCorey दिया था, इस समाधान में इस संक्षिप्त दृष्टिकोण यहाँ के साथ लाभ की तरह क्या यह आदेश संरक्षित है। – idStar