ios - Order NSArray with objects -


मैं एक NSDictionary निम्न डेटा के साथ:

  (एलएलडीबी) सब फ्राइड्स {71685207018702188 = {आईडी = 71685207018702188; नाम = "माइकज़िरी"; उपयोगकर्ता नाम = mi; }; 93374822540641772 = {id = 93374822540641772; नाम = "एलन वीक्लिप्स"; उपयोगकर्ता नाम = zuka; }; 96553685978449395 = {id = 96553685 97844 9395; नाम = "मोनिका वेक्लीप्स"; उपयोगकर्ता नाम = अमोनीका; }; 96556113096345076 = {id = 96556113096345076; नाम = जेवियर; उपयोगकर्ता नाम = ब्रैंको; }; 97017008427632119 = {id = 97017008427632119; नाम = "डायरियो वेक्लिप्स"; उपयोगकर्ता नाम = तारजान; }; }  

मैं नाम पर आधारित इन ऑब्जेक्ट को सॉर्ट कर रहा हूं, यदि उनके पास नाम नहीं है, तो मैं इसका उपयोग करूँगा उपयोगकर्ता नाम । कि, मैं एक नया NSDictionary नाम और आईडी बनाने ऐसा करने के लिए और विधि के अंत में मैं उन्हें नाम के आधार पर सॉर्ट । उन्हें सॉर्ट करने के लिए कोड निम्न है:

  - (NSArray *) ऑर्डरफ्रिएर्स {NSMutableDictionary * newFriendsDict = [[NSMutableDictionary alloc] init]; के लिए (इंट आई = 0; आई & lt; [सभी फ्रिएड्स गिनती]; आई ++) {एनएसएमयूटीबलएक्विज़िशन * फ्रेंड्सडिक्ट = [[एनएसएमयूटीएबलएडीएडीओ आइएलओसी] आईआईटी]; NSDictionary * दोस्त = [allFriends objectForKey: [NSString stringWithFormat: @ "% @", [sortedKeysFriends objectAtIndex: मैं]]]; अगर ([[दोस्त objectForKey: @ "नाम"] लंबाई] = 0!) {[friendsDict setObject: [दोस्त objectForKey: @ "आईडी"] forKey: @ "आईडी"]; [मित्रसंकेत सेट ऑब्जेक्ट: [NSString stringWithFormat: @ "% @", [दोस्त objectForKey: @ "नाम"]] forKey: @ "name"]; } अन्य {[मित्रों डिक्ट सेट ऑब्जेक्ट: [मैनेज ऑब्जेक्टफोरकी: @ "आईडी"] के लिए केए: @ "आईडी"]; [मित्रोंडिक्ट ऑब्जेक्ट: [NSString stringWithFormat: @ "% @", [दोस्त objectForKey: @ "उपयोगकर्ता नाम"]] forKey: @ "name"]; } [नई फ्राइडेससेट सेट ऑब्जेक्ट: मित्रडिक्क फॉरके: [एनएसएनम्बर नंबरआत्मह: i]]; } NSArray * sp = nil; एसपी = [[newFriendsDict allValues] sortedArrayUsingComparator: ^ (आईडी obj1, आईडी obj2) {NSString * एक = [NSString stringWithFormat: @ "% @", [obj1 objectForKey: @ "नाम"]]; NSString * दो = [NSString stringWithFormat: @ "% @", [obj2 objectForKey: @ "नाम"]]; वापसी [एक तुलना: दो]; }]; वापसी एसपी; }  

समस्या यह है कि अंतिम परिणाम गलत है:

  (lldb) po sp & lt; __ NSArrayI 0x160491a0 & gt; ({id = 93374822540641772; नाम = "एलन Weclipse";} {आईडी = 97017008427632119; नाम = "दारियो Weclipse";} {आईडी = 96553685978449395; नाम = "मोनिका Weclipse";} {आईडी = 96556113096345076; नाम = जेवियर;} {आईडी = 71685207018702188 ; Name = "mikeziri";},)  

मामला संवेदनशील सभी स्ट्रिंग छोटे या बड़े करें।


Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

javascript - data.match(var) not working it seems -

javascript - How can I pause a jQuery .each() loop, while waiting for user input? -