मुझे से NSNumber
एस की सॉर्टेड सरणी उत्पन्न करने की आवश्यकता है। मैं विधि का उपयोग करना चाहता हूं। मैं एप्पल दस्तावेज में इस उदाहरण पाया:सॉर्ट ऑर्डर को बदलना - [एनएसएआरएआरए सॉर्टेडएरेयू यूजिंगकंपेटर:]
NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];
यहाँ मैं सिर्फ एक ब्लॉक है, जो ठीक है में तुलनित्र प्रदान कर रहा हूँ। खुद को क्रमबद्ध करें - जो बिट मुझसे छिपा हुआ है, जो इस ब्लॉक का उपयोग करता है - आरोही प्रतीत होता है।
मैं अगर मैं इस ब्लॉक के लिए एक अलग सॉर्ट क्रम बाहरी अनुरोध कर सकते हैं जानना चाहते हैं, या मैं बस के चारों ओर <
और >
के (या NSOrderedXXX
के) फ्लिप करने की जरूरत है होगा?
, लेकिन जब तक आप नारंगी के साथ इसे सजाने रेड-जीसस-क्राइस्ट-इंक में लिखा गया ट्रैफिक-कॉन टिप्पणियां बताती हैं कि आपने ऑर्डर को फ़्लिप कर दिया है, कुछ बिंदु बाद यह एक संभावित डिबगिंग दुःस्वप्न हो सकता है। एक प्रकार का वर्णनकर्ता बनाना अधिक समझदार होगा और जब तक प्रदर्शन गंभीर हिट नहीं करेगा तब तक स्वयं-टिप्पणी करें। –
@God एक प्रकार का वर्णनकर्ता महान लगता है, कृपया तुलना के लिए एक कार्यान्वयन उदाहरण प्रदान करें। – zaph