这是我的Realm对象,基本上是一个带有一些标签的图像。Swift - 通过UICollectionView中的UISearchBar过滤Realm对象
class AllTags: Object {
dynamic var singleTag = ""}
class Photo: Object {
var myTags: [String] {
get {
return _backingNewTags.map { $0.singleTag }
}
set {
_backingNewTags.removeAll()
_backingNewTags.appendContentsOf(newValue.map({ AllTags(value: [$0]) }))
}
}
let _backingNewTags = List<AllTags>()
override static func ignoredProperties() -> [String] {
return ["myTags"]
}
dynamic var imagePath = ""}
我有我的CollectionView,我可以看到我所有的照片和紧迫的图像时,我可以看到我的标签,让一切正常。 我已经添加了我的UISearchBar,添加了txtSearchbar.delegate = self
并使用了let data = realm.objects(AllTags).map { $0.singleTag }
我可以打印数据库中的所有标签。
我只需要实时过滤,而我通过UISearchBar键入CollectionView单元格,因此它只显示标有我输入单词的图像。基本。
我一直在关注本教程,以过滤collectionView - https://github.com/codepath/ios_guides/wiki/Search-Bar-Guide#example-searching-a-collection-view - 11个小时后,我无法弄清楚如何使它与Realm一起使用。像硬编码数组一样,我可以使它工作。
我很新的发展,我从教程中的这段代码。我在创建Realm中的一系列标签时遇到了问题,并且此代码至少可以工作。那么我应该在哪里使用你写的代码?在searchBar函数中?现在,我正在使用超级复杂的代码进行过滤,并且有点工作,但我确信有更简单的方法来执行此操作 –
是的,您将在搜索栏中应用对象和筛选的提取操作,搜索字符串已经发生了变化,并且在我认为是表格视图呈现结果的情况下,您将从“结果”获得计数,并且在获取“cellForRow ...”时,您将返回单元格的属性来自该索引处的Realm对象。 –
jpsim