سؤال

لقد صفيف من الكائنات التي لا يمكن التنبؤ بها.محتويات المصفوفة هي نموذج الكائنات مع خصائص نوع 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.ح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top