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