Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何根据模型的属性筛选模型?_Ios_Objective C_Filter_Model - Fatal编程技术网

Ios 如何根据模型的属性筛选模型?

Ios 如何根据模型的属性筛选模型?,ios,objective-c,filter,model,Ios,Objective C,Filter,Model,我有一个模特儿: NSArray<MyModel *> *modelArr = xxx; NSArray*modelArr=xxx; 在MyModel中,具有属性,例如type 如何筛选modelArr以获得一个新数组,该数组只有相同的类型 将类型属性与特定值进行比较 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type = %@", searchType]; NSArray *filterArray =

我有一个模特儿:

NSArray<MyModel *> *modelArr = xxx;
NSArray*modelArr=xxx;
MyModel
中,具有属性,例如
type

如何筛选
modelArr
以获得一个新数组,该数组只有相同的
类型

类型
属性与特定值进行比较

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type = %@", searchType];
NSArray *filterArray = [modelArr filteredArrayUsingPredicate:predicate];
如果要检查
类型
属性是否包含比

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type contains[cd] %@", searchType];
NSArray *filterArray = [modelArr filteredArrayUsingPredicate:predicate];
你可以用它

类型
属性与特定值进行比较

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type = %@", searchType];
NSArray *filterArray = [modelArr filteredArrayUsingPredicate:predicate];
如果要检查
类型
属性是否包含比

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type contains[cd] %@", searchType];
NSArray *filterArray = [modelArr filteredArrayUsingPredicate:predicate];

您可以使用NSPredicate,请使用此代码

NSPredicate *bPredicate = [NSPredicate predicateWithFormat:@"SELF.name contains[cd] %@",self.searchText.text];
self.filteredArray = [self.hotelArray filteredArrayUsingPredicate:bPredicate];
NSLog(@"HERE %@",self.filteredArray);`

您可以使用NSPredicate,请使用此代码

NSPredicate *bPredicate = [NSPredicate predicateWithFormat:@"SELF.name contains[cd] %@",self.searchText.text];
self.filteredArray = [self.hotelArray filteredArrayUsingPredicate:bPredicate];
NSLog(@"HERE %@",self.filteredArray);`
试试这个

NSArray *uniqueNames = [modelArr valueForKeyPath:@"@distinctUnionOfObjects.type"];
试试这个

NSArray *uniqueNames = [modelArr valueForKeyPath:@"@distinctUnionOfObjects.type"];