NSPredicate多级过滤器

时间:2016-08-08 09:02:26

标签: ios objective-c nspredicate

我正在尝试使用自定义对象向下搜索NSMutableArray两个级别,我尝试使用SELFANY,但没有运气。

我有NSMutableArraycontentArray 内容数组

contentArray
    {
     OBJECTA,
     OBJECTA
    }

其中包含自定义对象(OBJECTA),objectA又有一个名为Customer的自定义对象

对象A:

@interface OBJECTA : NSObject
{
    @property (strong,nonatomic)   Customer * selectedCustomer;

}
@end

CUSTOMER:

@interface Customer : NSObject

   @property(strong,nonatomic) NSString* Customer_Name;

@end

现在我将如何使用contentArray搜索Customer_Name NSPredicate

2 个答案:

答案 0 :(得分:1)

尝试使用此代码

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"selectedCustomer.Customer_Name CONTAINS[c] %@", your_name_here];
NSArray *filteredArray = [contentArray filteredArrayUsingPredicate:predicate];

答案 1 :(得分:1)

如果您想匹配确切名称

,请尝试这种方式
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"selectedCustomer.Customer_Name LIKE '%@'", searchName];

如果要检查名称是否包含

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"selectedCustomer.Customer_Name CONTAINS[cd] %@", searchName];