带有核心数据对象的 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

带有 UIDocument 的核心数据:新对象的关系在 didEnterBackground 和重新打开后被破坏

带有核心数据的 Cocoa 绑定不更新所有列

在核心数据中保存动态生成的带有父->子关系的JSON数据?

iOS - 核心数据堆栈作为带有主 NSManagedObjectContext 的单例