【发布时间】:2016-07-30 09:08:12
【问题描述】:
概述: 我试图让一个搜索栏根据输入文本搜索不同的属性。例如,如果我有一个包含“姓名”和“号码”的通讯录,我希望在搜索栏中有一个字符串来搜索“姓名”,如果在搜索栏中输入了一个 Int,则可以搜索“号码”。 (就像 iPhone 的电话应用)
采取的步骤:
1) 我已经按照 Realm 的教程实现了 RealmSearchViewController。 (https://realm.io/news/building-an-ios-search-controller-in-swift/)
2) 我已经弄清楚如何通过初始化分配 searchPropertyKeyPath 属性。 (如果对任何人有帮助,请参见下文)
需要初始化?(coder aDecoder: NSCoder) { super.init(编码器:aDecoder) self.searchPropertyKeyPath = "电话号码" 打印(“你好”) print("搜索栏:", self.searchBar.text) }
问题: 我不知道如何 a) 扫描 searchbar.text [以检查它是 int 还是 string],然后 b) 修改 searchPropertyKeyPath [以搜索适当的属性]。
对如何解决这个问题有任何看法吗?
(我的猜测是覆盖然后修改 RealmSwiftViewController 文件中的 refreshSearchResults() 函数。是的,我已经尝试过了,但是遇到了编码问题,我不想在这个问题中提出)
【问题讨论】:
-
如果不分叉存储库并按照我的意愿编写 NSPredicate 函数,我找不到解决方案。