में ऑब्जेक्ट्स मेरे पास है और व्यक्ति कक्षासमूहीकरण ऑब्जेक्टिव-सी
Person : NSObject{
NSString *firstName;
NSString *lastName;
NSString *age;
}
NSMutableArray *personsArray = [NSMutableArray array];
Person *personObj1 = [[[Person alloc] init] autorelease];
personObj1.firstName = @"John";
personObj1.lastName = @"Smith";
personObj1.age = @"25";
[personsArray addObject: personObj1];
Person *personObj2 = [[[Person alloc] init] autorelease];
personObj2.firstName = @"John";
personObj2.lastName = @"Paul";
personObj2.age = @"26";
[personsArray addObject: personObj2];
Person *personObj3 = [[[Person alloc] init] autorelease];
personObj3.firstName = @"David";
personObj3.lastName = @"Antony";
personObj3.age = @"30";
[personsArray addObject: personObj3];
अब personsArray व्यक्ति वस्तुओं के 3 ऑब्जेक्ट्स के कस्टम ऑब्जेक्ट की श्रेणी।
क्या हम इस ऑब्जेक्ट को आयु या प्रथम नाम जैसी विशेषता से समूहित कर सकते हैं?
मेरे अपेक्षित परिणाम
NSDictionary {
"John" = >{
personObj1, //(Its because personObj1 firstName is John)
personObj2 //(Its because personObj2 firstName is John)
},
"David" = >{
personObj3, //(Its because personObj3 firstName is David)
},
}
मैं जानता हूँ कि मैं एक NSDictionary बनाने के द्वारा इस परिणाम मिलता है और फिर personsArray के माध्यम से दोहराएं, तो प्रत्येक पहले
NSMutableDictionary *myDict = [NSMutableDictionary dictionary];
for (Person *person in personsArray){
if([myDict objectForKey: person.firstName]){
NSMutableArray *array = [myDict objectForKey: person.firstName];
[array addObject:person];
[myDict setObject: array forKey:person.firstName];
}else{
NSMutableArray *array = [NSMutableArray arrayWithObject:person];
[myDict setObject: array forKey:person.firstName];
}
}
NSLog(@"myDict %@", myDict);
//Result myDict will give the desired output.
के लिए जाँच कर सकते हैं लेकिन वहाँ किसी भी बेहतर तरीका है करने के लिए ?
यदि मैं @distinctUnionOfObjects
का उपयोग कर रहा हूं, तो मैं केवल स्ट्रिंग ऑब्जेक्ट्स द्वारा समूह कर सकता हूं (ऐसी कस्टम ऑब्जेक्ट्स नहीं। क्या मैं सही हूँ?)।
अग्रिम में उत्तर के लिए धन्यवाद।
धन्यवाद यह मुझे मैं के लिए मदद की समूह के समान परिणाम चाहते हैं। :) –