我有一个NSArray与具有name属性的对象.
我想按名称过滤数组
NSString *alphabet = [agencyIndex objectAtIndex:indexPath.section]; //---get all states beginning with the letter--- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] %@",alphabet]; NSMutableArray *listSimpl = [[NSMutableArray alloc] init]; for (int i=0; i<[[Database sharedDatabase].agents count]; i++) { Town *_town = [[Database sharedDatabase].agents objectAtIndex:i]; [listSimpl addObject:_town]; } NSArray *states = [listSimpl filteredArrayUsingPredicate:predicate];
但是我收到一个错误 – “不能做一个不是字符串的东西的子串操作(lhs =< 1,Arrow> rhs = A)”
我该怎么做?我想过滤名字中第一个字母的数组为’A’.
解决方法
尝试以下代码
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF like %@",yourName]; NSArray *filteredArr = [yourArray filteredArrayUsingPredicate:pred];
编辑:
NSPredicate模式应该是:
NSPredicate *pred =[NSPredicate predicateWithFormat:@"name beginswith[c] %@",alphabet];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。