فرز سريع إلى ترتيب مجموعة من الأعمال المفتاح ؟
-
05-07-2019 - |
سؤال
لقد صفيف من الكائنات التي لا يمكن التنبؤ بها.محتويات المصفوفة هي نموذج الكائنات مع خصائص نوع nsstring و nsnumber.
أنا بحاجة لفرز مجموعة وفقا واحدة من خصائص ، nsnumber.كيف يمكنك أن تفعل ذلك في الهدف-c/الكاكاو ؟ تنفيذ فرز سريع أو خوارزمية (وهي واحدة) ؟ أي المكتبات التي تتعامل مع هذا لك ؟
التحديث في حين رد أدناه هو الصحيح ، فإنه يعمل فقط على 10.6 و أنا استهداف 10.5.
المحلول 2
هذا هو ما جئت به:
NSArray *unsortedArray = [results allValues];
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc]
initWithKey:@"ordinalPosition"
ascending:YES]
autorelease];
NSArray *sortedArray = [unsortedArray
sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
نصائح أخرى
NSArray
وقد عدة يصنف طرق.بالنظر إلى مجموعة ، arr
,
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"numberProperty" ascending:YES];
NSArray *sortedArr = [arr sortedArrayUsingSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
سوف تعطيك مجموعة فرز (ترتيب تصاعدي) بواسطة @"numberProperty".ومن الواضح أن عليك أن تكون بديلا اسم NSNumber
في نموذج الكائنات @"numberProperty"
.
خوارزمية الفرز لم يتم تحديد في NSArray
's الفرز الأساليب.
استخدام qsort()
من stdlib.ح.
لا تنتمي إلى StackOverflow