2014-05-05 48 views
0

我已经用核心数据来存储数据,现在我有个问题,那就是如何得到 那些与任何数字字符或第一个 字符是一样的数字,所以需要那些起始字符为 的那些整个记录是数字,我怎样才能做到这一点 ?任何想法 ?如何从coredata中获取数据,其中firstname从数字开始?

+0

用块创建一个谓词,并将其传递给你的'NSFetchRequest' – Levi

+0

没有得到它。我怎样才能做到这一点 ? –

+0

你有什么尝试吗? – nmh

回答

0

我喜欢下面的解决方案。

predicate = [NSPredicate predicateWithFormat:@"(firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@) OR (firstName BEGINSWITH[cd] %@)" argumentArray:[NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0",nil]]; 

这是工作完美:)。

+0

请参考我的答案更好的方式来实现这一点。 – Adithya

0

您可以在谓词中进行匹配,然后使用正则表达式。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"jobStatus MATCHES %@",your_regex];

0

这是一个使用正则表达式实现它的更简洁的方法。

predicate = [NSPredicate predicateWithFormat:@"firstName matches '^[0-9].*'"];