iOS对NSMutableArray进行排序和过滤的实例

  

根据实体类的属性进行排序,这个属性排序还可以增加几个排序规则,前后的规则先判断,如果一样的则根据第二个排序规则来判断

        NSSortDescriptor * sortDescriptor=[[NSSortDescriptor alloc] initWithKey: @“数据”提升:是的);//其中,价格为数组中的对象的属性,这个针对数组中存放对象比较更简洁方便   NSArray * sortDescriptors=[[NSArray alloc] initWithObjects:, sortDescriptor数:1];   (自我。dataArray sortUsingDescriptors sortDescriptors):;之前      

过滤不会对原来的数据产生影响,而是生成符合过滤条件的NSArray数据

        NSPredicate * apredicate=[NSPredicate predicateWithFormat: @”id>=% ld和id<=% ld”, 3、5];      NSArray * newArr=[自我。dataArray filteredArrayUsingPredicate: apredicate];      

下面是个例子可以运行看看

        # import & lt;基?Foundation.h>      @ interface TestBean: NSObject   @ property(原子,分配)int id;   @ property(原子、强)NSString *数据;   @end            # import & lt; UIKit/UIKit.h>   @ interface ViewController: UIViewController   @ property NSArray(强,原子)   *列表;      @end////ViewController.m//第一个////由shanreal-iOS 17/10/16。//版权软件是2017年shanreal.LongZhenHao。保留所有权利。//#进口“ViewController.h”   #进口“TestBean.h”   @ interface ViewController ()   @ property(原子、强)NSMutableArray * dataArray;   @end   @ implementation ViewController   - (void) viewDidLoad {   (超级viewDidLoad);//加载后任何额外设置视图。   _dataArray=[NSMutableArray数组);      TestBean * 1=[[TestBean alloc] init);   一个。id=1;   一个。data=https://www.yisu.com/zixun/@“一”;   [_dataArray addObject:一个);      一个=[[TestBean alloc] init);   一个。id=2;   一个。data=https://www.yisu.com/zixun/@“两个”;   [_dataArray addObject:一个);      一个=[[TestBean alloc] init);   一个。id=22;   一个。data=https://www.yisu.com/zixun/@“two2”;   [_dataArray addObject:一个);      一个=[[TestBean alloc] init);   一个。id=3;   一个。data=https://www.yisu.com/zixun/@“三”;   [_dataArray addObject:一个);      一个=[[TestBean alloc] init);   一个。id=4;   一个。data=https://www.yisu.com/zixun/@“四”;   [_dataArray addObject:一个);            一个=[[TestBean alloc] init);   一个。id=44;   一个。data=https://www.yisu.com/zixun/@“four4”;   [_dataArray addObject:一个);      一个=[[TestBean alloc] init);   一个。id=5;   一个。data=https://www.yisu.com/zixun/@“5”;   [_dataArray addObject:一个);      一个=[[TestBean alloc] init);   一个。id=6;   一个。data=https://www.yisu.com/zixun/@“6”;   [_dataArray addObject:一个);      (自我oneClick);   (自我twoClick);      }   - (void) oneClick {   NSSortDescriptor * sortDescriptor=[[NSSortDescriptor alloc] initWithKey: @“数据”提升:是的);//其中,价格为数组中的对象的属性,这个针对数组中存放对象比较更简洁方便   NSArray * sortDescriptors=[[NSArray alloc] initWithObjects:, sortDescriptor数:1];   (自我。dataArray sortUsingDescriptors sortDescriptors):;      (自我logArray: self.dataArray);   }   - (void) twoClick {   NSPredicate * apredicate=[NSPredicate predicateWithFormat: @”id>=% ld和id<=% ld”, 3、5];      NSArray * newArr=[自我。dataArray filteredArrayUsingPredicate apredicate):;   (自我logArray: newArr);   }   - (void) logArray:数组(NSArray *) {   NSLog (@”- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);   (TestBean * bean的数组){   NSLog (@ % d % @”、bean.id bean.data);   }   }      @end   之前      

以上这篇iOS对NSMutableArray进行排序和过滤的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

iOS对NSMutableArray进行排序和过滤的实例