Objective c NSPredicate搜索对象

Objective c NSPredicate搜索对象,objective-c,nspredicate,Objective C,Nspredicate,我必须通过引入搜索关键字并在运行时进行过滤来过滤对象数组。我该怎么做 //this is my Article class @property int intID; @property (nonatomic, strong) NSString *strName; @property (nonatomic, strong) NSString *strTitle; @property (nonatomic, strong) NSString *strDescription; @property (

我必须通过引入搜索关键字并在运行时进行过滤来过滤对象数组。我该怎么做

//this is my Article class
@property  int intID;
@property (nonatomic, strong) NSString *strName;
@property (nonatomic, strong) NSString *strTitle;
@property (nonatomic, strong) NSString *strDescription;
@property (nonatomic, strong) NSString *lang;
@property (nonatomic, strong) NSString *dateDate;
@property (nonatomic, strong) NSData *dataPicture;
@property (nonatomic, strong) NSString *link;
@property (nonatomic, strong) NSString *gallery;
@property int flag;
@property int subcat;
@property int cat;
@property int idpic;
我必须选择包含引入字符串的文本的文章

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{   
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"strName MATCHES '.*(%@).*'", searchText];
    
    NSLog(@"%@", [NSString stringWithFormat:@"strName MATCHES '.*%@.*' OR strTitle MATCHES '.*%@.*'", searchText, searchText]);
    
    articleSearchArray=[NSMutableArray array];
    articleSearchArray = [NSMutableArray arrayWithArray:[allArticleArr filteredArrayUsingPredicate:predicate]];

    for(Article *article in articleSearchArray)
    {
        
        NSLog(@"Article id is %i", article.intID);
    }
    [mytableView reloadData];
    
}
这一个将使用不区分大小写的比较(用
[c]
表示),获取其
strName
属性包含的
searchText
字符串的数组中的所有对象,我想这就是您要查找的对象。 之后,您只需将充当数据源的
NSArray
设置为筛选后的数据源,然后执行
reloadData

这一个将使用不区分大小写的比较(用
[c]
表示),获取其
strName
属性包含的
searchText
字符串的数组中的所有对象,我想这就是您要查找的对象。 之后,您只需将充当数据源的
NSArray
设置为筛选后的数据源,然后执行
reloadData

[NSPredicate predicateWithFormat:@"strName contains[c] '%@'", searchText];