首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSPredicate for NSNumber包含NSNumber (作为NSString)

NSPredicate for NSNumber包含NSNumber (作为NSString)
EN

Stack Overflow用户
提问于 2014-06-16 12:55:29
回答 2查看 1.4K关注 0票数 2

简单方法:我有一个SearchView,用户可以选择一些CoreDate,他可以搜索NameCity (都是NSString)和Clientnumber (NSNumber)

代码语言:javascript
复制
NSPredicate *resultPredicate = [NSPredicate
                                predicateWithFormat:@"Name contains[cd] %@ OR City contains[cd] %@",
                                searchText,searchText];

这是我对Name和City的谓词,但是如何在NSNumber字段中搜索搜索查询呢?

因此,如果我要搜索300个,它应该返回带有Clientnumber:300123和1230012的条目,因为两个都包含 300

那我该怎么做呢?是否可以将ClientnumberNSPredicate中的值“转换”为NSString

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-16 13:00:04

您应该能够使用CAST(Clientnumber, 'NSString') contains[cd] %@进行以下搜索:

代码语言:javascript
复制
NSPredicate *resultPredicate = [NSPredicate
                            predicateWithFormat:@"Name contains[cd] %@ OR City contains[cd] %@ OR CAST(Clientnumber, 'NSString') contains[cd] %@",
                            searchText,searchText,searchText];
票数 6
EN

Stack Overflow用户

发布于 2017-07-13 07:50:16

我发现,在使用NSFetchedResultsController进行核心数据搜索时,dasblineklight的答案对我来说是行不通的。然而,真正起作用的是将number.description作为属性的名称传递,因此对于这种特殊情况,如下所示:

代码语言:javascript
复制
NSPredicate *resultPredicate = [NSPredicate
                                predicateWithFormat:@"Name contains[cd] %@ OR City contains[cd] %@ OR Clientnumber.description contains[cd] %@",
                                searchText, searchText, searchText];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24244268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档