带有核心数据对象的 NSPredicate
Posted
技术标签:
【中文标题】带有核心数据对象的 NSPredicate【英文标题】:NSPredicate with core data objects 【发布时间】:2014-03-13 05:00:09 【问题描述】:我有一个由核心数据类对象组成的数组。我想使用 NSPredicate(用于提示性搜索)过滤掉该类的特定属性。
要求 我有一个核心数据类:AlbumDetails(属性-专辑名称、专辑类型等) 我想使用 NSPredicate 访问 AlbumDetails.AlbumName 属性作为我的搜索栏文本。 我目前知道将谓词用于简单的数组或字典结构,但是如何将谓词用于特定类的属性。
【问题讨论】:
那么问题是什么? @Anil 请参考已编辑的问题,现在清楚了吗。 【参考方案1】:你可以使用类似的东西
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"albumName contains[cd] %@", searchString];
albumName
是您班级的财产。 contains
将帮助您获取名称中包含搜索字符串的所有专辑
【讨论】:
假设我有一个数组 aryAlbumList,我可以像 [aryAlbumList filteredArrayUsingPredicate:predicate] 一样使用它吗? ???它会返回我过滤的歌曲名称数组吗??? 歌名??我没有得到。假设您有一个专辑列表,其名称为 [flowers,floors,cats..]。您的搜索字符串是fl
。过滤后会得到相册[flowers,floors]
它将返回名称与搜索字符串匹配的专辑对象。为了识别我这样写以上是关于带有核心数据对象的 NSPredicate的主要内容,如果未能解决你的问题,请参考以下文章
带有来自基本控制器中 AppDelegate 的核心数据对象上下文的 SIGABRT