【发布时间】:2017-03-09 11:04:33
【问题描述】:
我有两个模型如下:
class Topic : NSObject {
var subTopics : [SubTopic]!
var topicId : Int!
var topicName : String!
class SubTopic : NSObject {
var subTopicDesc : String!
var subTopicDescText : String!
var subTopicId : Int!
var subTopicName : String!
}
以及在我的视图控制器中定义的主题数组:
var rightsDataArray: [Topic] = []
这是我的搜索逻辑:
let pred = NSPredicate(format: "topicName CONTAINS %@ OR SUBQUERY(subTopics, $SubTopics, $SubTopics.subTopicDescText CONTAINS %@).@count > 0 OR SUBQUERY(subTopics, $SubTopics, $SubTopics.subTopicName CONTAINS %@).@count > 0",searchBar.text!,searchBar.text!,searchBar.text!)
let filteredArray = (self.rightsDataArray as NSArray).filtered(using: pred)
如果搜索字符串为 Health,则结果如下:
如果 searchedText 存在于 subTopic[0] 中,那么我想从结果 subTopic 数组中删除 subTopic[1],subTopic[2],subTopic[3],并且只检索 subTopic[0]。
【问题讨论】:
-
2 和 3 的图片链接无效。
-
实际上并不只是一个数组。
-
明白了,现在我明白你的问题了。
标签: ios arrays swift core-data nspredicate