UITableView for Realm对象中的搜索栏

时间:2015-12-31 17:10:17

标签: ios swift uitableview uisearchbar realm

我有一个由Realm Objects填充的表格视图,当我点击一个单元格时,它会转到另一个视图,向我显示有关该对象的更多信息。我想为此表视图添加一个搜索栏,以检查对象的“fullName”属性。我知道如何为字符串数组添加搜索栏,但我没有找到任何有关如何使用Swift 2.0进行操作的教程或指导。有什么帮助吗?

编辑:这就是我填充我的tableview的方式

var dataSource : Results<Patient>!

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let identifier: String = "myCell"
    var cell = tableView.dequeueReusableCellWithIdentifier(identifier)

    if cell == nil {
        cell = UITableViewCell(style: .Subtitle, reuseIdentifier: identifier)
    }

    let currentPatientInfo = dataSource[indexPath.section]

    cell?.textLabel?.text = currentPatientInfo
    cell?.accessoryType = UITableViewCellAccessoryType.DetailDisclosureButton

    return cell!

}

我有部分数据,而不是行

编辑:我在项目中添加了RealmSwiftSearchController,但是当我点击一个单元格时偶尔会出现此错误:

  

致命错误:在解包可选值时意外发现nil

它指向此代码:

extension RealmSearchViewController {


 public override func tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath? {

// The line below
    let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as! Object
// Line ends
        self.resultsDelegate.searchViewController(self, willSelectObject: object, atIndexPath: indexPath)

        return indexPath
    }

1 个答案:

答案 0 :(得分:1)

有一个名为RealmSearchViewController的开源组件应该能够处理几乎所有必要的样板代码,并设置可搜索的UITableView以及与Realm进行互操作:{ {3}}

此外,还有一个关于如何在Realm网站上实现它的教程:https://realm.io/news/building-an-ios-search-controller-in-swift/