iOS 對NSMutableArray進行排序和過濾的實例
更新時間:2018年01月15日 09:17:36 作者:鍵盤舞者113
下面小編就為大家分享一篇iOS 對NSMutableArray進行排序和過濾的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
根據實體類的屬性進行排序,這個屬性排序還可以增加幾個排序規(guī)則,前后的規(guī)則先判斷,如果一樣的則根據第二個排序規(guī)則來判斷
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"data" ascending:YES];//其中,price為數組中的對象的屬性,這個針對數組中存放對象比較更簡潔方便 NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:&sortDescriptor count:1]; [self.dataArray sortUsingDescriptors:sortDescriptors];
過濾不會對原來的數據產生影響,而是生成符合過濾條件的NSArray數據
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"id>=%ld AND id<=%ld",3,5]; NSArray *newArr=[self.dataArray filteredArrayUsingPredicate:apredicate];
下面是個例子可以運行看看
#import <Foundation/Foundation.h> @interface TestBean : NSObject @property(nonatomic,assign)int id; @property(nonatomic,strong)NSString* data; @end
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>
@property (strong, nonatomic) NSArray
*list;
@end
//
// ViewController.m
// First
//
// Created by shanreal-iOS on 17/10/16.
// Copyright © 2017年 shanreal.LongZhenHao. All rights reserved.
//
#import "ViewController.h"
#import "TestBean.h"
@interface ViewController ()
@property(nonatomic,strong)NSMutableArray* dataArray;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
_dataArray = [NSMutableArray array];
TestBean* one = [[TestBean alloc]init];
one.id = 1;
one.data = @"one";
[_dataArray addObject:one];
one = [[TestBean alloc]init];
one.id = 2;
one.data = @"two";
[_dataArray addObject:one];
one = [[TestBean alloc]init];
one.id = 22;
one.data = @"two2";
[_dataArray addObject:one];
one = [[TestBean alloc]init];
one.id = 3;
one.data = @"three";
[_dataArray addObject:one];
one = [[TestBean alloc]init];
one.id = 4;
one.data = @"four";
[_dataArray addObject:one];
one = [[TestBean alloc]init];
one.id = 44;
one.data = @"four4";
[_dataArray addObject:one];
one = [[TestBean alloc]init];
one.id = 5;
one.data = @"five";
[_dataArray addObject:one];
one = [[TestBean alloc]init];
one.id = 6;
one.data = @"six";
[_dataArray addObject:one];
[self oneClick];
[self twoClick];
}
-(void)oneClick{
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"data" ascending:YES];//其中,price為數組中的對象的屬性,這個針對數組中存放對象比較更簡潔方便
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:&sortDescriptor count:1];
[self.dataArray sortUsingDescriptors:sortDescriptors];
[self logArray:self.dataArray];
}
-(void)twoClick{
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"id>=%ld AND id<=%ld",3,5];
NSArray *newArr=[self.dataArray filteredArrayUsingPredicate:apredicate];
[self logArray:newArr];
}
-(void)logArray:(NSArray*)array{
NSLog(@"---------------------------------");
for(TestBean* bean in array){
NSLog(@"%d %@",bean.id,bean.data);
}
}
@end
以上這篇iOS 對NSMutableArray進行排序和過濾的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
實例講解設計模式中的命令模式在iOS App開發(fā)中的運用
這篇文章主要介紹了設計模式中的命令模式在iOS App開發(fā)中的運用,文中還講到了Cocoa框架下使用的例子,實例代碼為傳統的Objective-C,需要的朋友可以參考下2016-03-03
iOS App連續(xù)閃退時上報crash日志的方法詳解
iOS App 有時可能遇到啟動必 crash 的絕境:每次打開 App 都閃退,無法正常使用App。下面這篇文章主要給大家介紹了iOS App連續(xù)閃退時上報crash日志的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2018-04-04
iOS應用開發(fā)中使用UIScrollView控件來實現圖片縮放
這篇文章主要介紹了iOS開發(fā)中使用UIScrollView控件來實現圖片縮放的方法,代碼基于傳統的Objective-C,需要的朋友可以參考下2015-12-12
設計模式開發(fā)中的備忘錄模式在iOS應用開發(fā)中的運用實例
這篇文章主要介紹了設計模式開發(fā)中的備忘錄模式在iOS應用開發(fā)中的實例,代碼為傳統的Objective-C,需要的朋友可以參考下2016-03-03
iOS中PNChart與UITableView的聯動示例詳解
PNChart是個界面很漂亮的圖表第三方庫,UITableView則不用過多介紹了,各位iOS開發(fā)者們都知道,下面這篇文章主要給大家介紹了關于iOS中PNChart與UITableView的聯動的相關資料,需要的朋友可以參考下2018-07-07

