필자는 몇 가지 다른 ViewController에서 사용해야하는 정렬 비교자를 가지고 있으므로 별도의 파일로 유지하려고합니다. 나는 별도의 파일에 정렬 블록을 넣을 수 있어야한다는 것을 읽었지 만, 어느 방법을 사용해도 "인식 할 수없는 셀렉터를 인스턴스로 보낸다"는 것을 시도합니다. 내가 가진 코드는 다음과 같습니다NSComparator in Separate File
#import <Foundation/Foundation.h>
typedef NSComparator (^IntBlock)(id obj1, id obj2);
@interface Utils : NSObject {
NSComparator SortObjNameComparer;
NSComparator SortObjPriceComparer;
}
@property (readwrite, copy) NSComparator SortObjNameComparer;
@property (readwrite, copy) NSComparator SortObjPriceComparer;
내가
Utils *comp = [[Utils alloc] init];
if(segmentedControl.selectedSegmentIndex == 0){
self.productArray = [self.productArray sortedArrayUsingComparator:[comp SortObjNameComparer] context:nil]; //EXC_BAD_ACCESS
} else if(segmentedControl.selectedSegmentIndex == 1){
self.productArray = [self.productArray sortedArrayUsingComparator:[Utils SortObjPriceComparer]];// EXC_BAD_ACCESS
이 할 수있는 깨끗한 방법이 있나요
을 사용하고이를 정렬하려면?
와우. 잘못 읽다. :) –
sortedArrayUsingFunction은 어떻습니까? –