2012-11-07 14 views
12
NSArray* sortedArray = [myArray sortedArrayUsingSelector:@selector(compare:)]; 

बस सोच रहा है कि मैं संख्याओं के इस सरणी को अवरोही क्रम में कैसे क्रमबद्ध कर सकता हूं?रिवर्स ऑर्डर

+2

अच्छा प्रश्न है। मैं उसे नहीं जानता था। –

उत्तर

25

या तो विधि आप एक तुलनित्र के रूप में एक ब्लॉक गुजरती हैं और एक तुलनित्र कि वस्तुओं (NSOrderedDescending और इसके विपरीत के लिए NSOrderedAscending रिटर्न) पराजयों को लागू करने की अनुमति देता है कि का उपयोग ....

... या:

NSArray *reversed = [[[myArray sortedArrayUsingSelector:@selector(compare:)] reverseObjectEnumerator] allObjects]; 

क्षमा करें। सबसे महत्वपूर्ण हिस्सा Derped।

+0

कोई कोड वाला टिप्पणी उचित है लेकिन इस उत्तर में दिए गए कोड की रेखा केवल सरणी को उलट देती है। वास्तव में कोई सॉर्टिंग नहीं की जा रही है। स्पष्ट रूप से यह स्पष्ट करना बेहतर होगा कि इसे क्रमबद्ध सरणी पर बुलाया जाना चाहिए। – rmaddy

+0

यारप। मैंने मूल अभिव्यक्ति को हटा दिया। – bbum

7

उपयोग NSSortDescriptor

NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO]; 
NSArray *temp = [myArray sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]]; 
संबंधित मुद्दे