Lit*_*T.V 7 iphone search uisearchbar nspredicate ios
我有一系列自定义对象.自定义对象看起来像这样
@interface User : NSObject
@property(nonatomic, strong)NSString *user_Id;
@property(nonatomic, strong)NSString *user_Name;
@property(nonatomic, strong)NSString *user_UserName;
@end
Run Code Online (Sandbox Code Playgroud)
我有数组检查2 properties.That过滤器在我搜索a然后从数组包含它应该得到过滤的用户列表a中user_Name或user_Id.怎么我能做到这一点?对于单个属性,我知道[user_Name]
NSString *predicateString = @"user_Name MATCHES[c] %@";
NSString *matchString = [NSString stringWithFormat: @".*%@.*",searchText];
NSPredicate *predicate =[NSPredicate predicateWithFormat:predicateString, matchString];
self.searchResults = [userArray filteredArrayUsingPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)
您可以使用 来连接谓词条件OR,例如:
NSString *predicateString = @"(user_Name MATCHES[c] %@) OR (user_Id MATCHES[c] %@)";
Run Code Online (Sandbox Code Playgroud)
indexesOfObjectsPassingTest:或者,您可以使用适当的测试块来过滤数组,然后objectsAtIndexes:获取通过测试的对象数组。
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |