0

に格納されている整数に基づいて一連のオブジェクトを並べ替える必要がありますNSString

私はこれが1つの解決策であり、それが機能することを知っています:

NSSortDescriptor *mySortDescriptor = [NSSortDescriptor sortDescriptorWithKey: @"from" ascending: YES comparator:^(id obj1, id obj2)
{
   if ([obj1 integerValue] > [obj2 integerValue])
   {
       return (NSComparisonResult) NSOrderedDescending;
   }

   if ([obj1 integerValue] < [obj2 integerValue])
   {
       return (NSComparisonResult) NSOrderedAscending;
   }

   return (NSComparisonResult) NSOrderedSame;
}];

self.myObjects = [[self.data allObjects] sortedArrayUsingDescriptors: @[mySortDescriptor]];

私の質問は、なぜこれに KVO を使用できないのかということです。たとえば、次のように、よりきれいに見えます。

NSSortDescriptor *mySortDescriptor = [NSSortDescriptor sortDescriptorWithKey: @"from.integerValue" ascending: YES];

そして、それを私に渡しますNSFetchRequest

このコードでは、200 が 21 の前に表示されます。

4

1 に答える 1