如何实施"排序"和"过滤"物品?

时间:2015-11-03 11:01:43

标签: ios objective-c iphone sorting

我是iOS开发的新手。我正在开发一个小型的电子入门应用程序,我想知道如何实现"排序"和"过滤"物品(衣服/包/鞋等)。这意味着当我点击"排序"按钮它应显示选项按人气,价格排序:从高到低,从低到高和新到达,每当我点击其中一个选项时,它应根据需要过滤掉项目/数据。很少的帮助将不胜感激。提前致谢! :)

1 个答案:

答案 0 :(得分:1)

您可以使用NSSortDescriptor对项目列表进行排序和过滤,并将NSPredicate应用于您的阵列以获取结果数组。我在这里举例说明它。

@interface Person : NSObject{
NSNumber *age,
NSString *name,
}

我在这里根据年龄进行排序

NSArray *listArray = @[person1, person2, person3....];

NSSortDescriptor*sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:NO];
NSArray *sortedListArray = [listArray sortedArrayUsingDescriptors:@[sortDescriptor]];

要过滤现有数组中的项目,可以使用谓词来查找它。 假设我必须为那些人过滤,他们的年龄大于20岁。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Age>=20"]
filteredArray =  [listArray filteredArrayUsingPredicate:predicate];