XCode Magical Record, MR_findByAttribute - 查找带有特定单词的字符串(正则表达式?)

Posted

技术标签:

【中文标题】XCode Magical Record, MR_findByAttribute - 查找带有特定单词的字符串(正则表达式?)【英文标题】:XCode Magical Record, MR_findByAttribute - looking for strings with certain word (regex?) 【发布时间】:2014-09-30 13:51:38 【问题描述】:

我有一个 API,我从中加载 Shop 对象。 Shop 对象具有 NSString *assortment 字段,包含您可以在商店购买的产品,在我的语法中它是例如。 “水、牛奶、土豆、面包、番茄酱”。

NSString *assortment = @"water, milk, potatoes, bread, ketchup";

我将商店从本地数据库加载到 NSArray *shops。

NSArray *shops = [Shop MR_findAll];

我想在我的商店数组中找到所有在其分类字段中包含单词“面包”的对象(也许使用 MR_findByAttribute?)。

我知道我可以拆分我的字符串并检查每个分类位置 - 但这对我来说听起来不直观。我觉得有更好的解决方案,也许:

NSArray *shopsWithBread = [Shop MR_findByAttribute:@"assortment" withValue:@"<bread regex?>"];

你知道有什么好方法吗?您是否还有其他好主意如何找到所有这些商店?也许你确定不能这样,我必须自己写搜索引擎?

提前感谢您的所有回答。 卡罗尔

【问题讨论】:

【参考方案1】:

好的,我找到了解决方案 - 我正在使用谓词。

NSPredicate *breadSearchPredicate = [NSPredicate predicateWithFormat:@"assortment contains[cd] %@", @"bread"];
NSArray *shopsWithBread = [Shop MR_findAllWithPredicate:breadSearchPredicate];

分类是我的字段名称; contains[cd] 是一种指令,检查是否包含字符串给 - 这里是@"bread"。

NSPredicate - 在这里很好地解释了:http://nshipster.com/nspredicate/

【讨论】:

以上是关于XCode Magical Record, MR_findByAttribute - 查找带有特定单词的字符串(正则表达式?)的主要内容,如果未能解决你的问题,请参考以下文章

Magical Record - 设置时崩溃

如何使用 Magical Record 从特定上下文中简单地删除一组实体?

Magical Record 的新手:上下文未在数据存储中创建行

AFNetworking 的 Magical Record 导入问题

使用 Kiwi、Core Data 和 Magical Record 进行单元测试

设置一对多关系 Core Data 和 Magical Record