الفرز في مجموعة nsmutable
-
18-09-2019 - |
سؤال
افترض أن لدي بعد البيانات في لعبتي. لقد طورت لعبة في Cocos2D.
Name Score
Sagar 10000
Amit 2000
Vishal 90
يتم تخزين البيانات أعلاه في ملف Plist.
بخصي لديه مجموعة كجذر.
ضمن أن هناك 10 قاموس.
يحتوي كل قاموس على قيمتين:
- قيم السلسلة - الاسم
- قيمة الرقم - النتيجة
عندما أستخدم
NSMutableArray *x=[[NSMutableArray alloc] initWithContentsOfFile:@"Sagar.plist"];
أريد أن فرز صفيف قابل للتغيير هذه النتيجة.
هل هو ممكن؟
المحلول
استخدام واصف فرز:
NSSortDescriptor * sortByScore = [[[NSSortDescriptor alloc] initWithKey:@"Score" ascending:NO] autorelease];
NSArray * descriptors = [NSArray arrayWithObject:sortByScore];
NSArray * sorted = [x sortedArrayUsingDescriptors:descriptors];
نصائح أخرى
يرى [NSMutableArray sortUsingDescriptors:]
, [NSMutableArray sortUsingComparator:]
وما إلى ذلك وهلم جرا. يوفر NSMutablerray عدة طرق للفرز. في هذه الحالة، كنت أستخدم طريقة واصف إذا كنت بحاجة إلى توافق قبل 10.5 وسيلة المقارنة لتطبيقات Snow Leopard.
أعتقد على iPhone، خياراتك
- (void)sortUsingFunction:(NSInteger (*)(id, id, void *))compare context:(void *)context;
و
- (void)sortUsingSelector:(SEL)comparator;
هناك مجموعة من المعلومات اللائقة عليها هنا:http://www.cocoadev.com/index.pl؟ortusingselector.
تحرير: يصيح! رأى Cocos2D وفترض أنه كان سؤالا iPhone.
لا تنتمي إلى StackOverflow