【发布时间】:2016-04-14 17:37:27
【问题描述】:
我正在尝试从具有'mytag' 的所有对象的领域中获取新闻对象的Results<News>
News 对象看起来像
dynamic var id = 0
dynamic var title = ""
dynamic var date = NSDate()
dynamic var modified = NSDate()
dynamic var protected = true
dynamic var category : Category?
dynamic var image : Image?
let content = List<Content>()
let tags = List<Tag>()
我有一个带有我所有标签的Results<Tag>。标签有一个布尔值my 来查看它是否属于我的标签。
这样我可以获得个人新闻。
但是,我不明白如何查询。我对 SQL 有一些了解,但我似乎无法使用 contains 或 in 弄清楚它
我尝试了一种解决方法,但似乎Results 没有append 功能。
这是我目前的解决方法:
func retrieveMyNewsSortedByDate() -> Results<News> {
let myTags = TagDataService().myTagsList() // retunrs a List<Tag>
print("My news items");
let items = database().objects(News).filter("tags IN %@", myTags).sorted("date") // how to query or query with news and tag table
let myTagItems = List<News>()
for tag in myTags {
for news in items{
for newsTag in news.tags {
if newsTag == tag {
myTagItems.append(news) // Results does not have .append or .addobject
}
}
}
}
mytagItems = Results(myTagItems)
return myTagItems
}
但是,现在我将采用一种非常低效的方式来输出我似乎无法转换为 Results 的列表。我该怎么做?
【问题讨论】: