I have an NSArray output. please refer below. I want to sort based on particular number field (Order) in it. Please refer the code below.
Log: resultArray:
(
{
Name = "Myname1";
Id = "dummyID";
Order = 0;
parexId = 15;
"__type" = "Question:#myAPI";
},
{
Name = "Myname2";
Id = "fatID";
Order = 1;
parexId = 16;
"__type" = "Question:#myAPI";
}
{
Name = "Myname3";
Id = "colorID";
Order = 2;
parexId = 17;
"__type" = "Question:#myAPI";
}
)
Code:
NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"Order" ascending:YES comparator:^(id obj1, id obj2) {
return [obj1 compare:obj2 options:NSNumericSearch];
}];
resultArray = [resultArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]]; // resultArray contents the above output values.
BUT it is crashing when compare happens during sorting.
Crash error:
-[__NSCFNumber compare:options:]: unrecognized selector sent to instance 0x6b514b0
Could someone please help me, what i’m doing wrong here?
Thank you!
Order is a number field. It does not have method compare:options. You should use
[obj1 compare:obj2];