HSSearchable 4.2

HSSearchable 4.2

测试已测试
语言编程语言 SwiftSwift
许可证 MIT
发布最后一个版本2019年2月
SPM支持SPM

Hitendra Solanki维护。



  • 作者:
  • Hitendra Solanki

HSSearchable

在 UIViewController 中使用 UISearchBar 从 UITableView 进行搜索的最简单方式

HSSearchable

如何集成源代码?

  1. 直接将 HSSearchable.swift 拖放到您的 Xcode 项目中。

  2. 最推荐:通过 Cocoapods 安装(如何使用 Cocoapods

    pod 'HSSearchable'
    

如何在代码中使用?只需按照以下简单步骤:)

import HSSearchable

//Suppose this is your datamodel
struct UserDM {
  var name: String
  var city: String
 }
  1. 使用 SearchableData 代理扩展您的类或结构

    extension UserDM: SearchableData {
     var searchValue: String{
       return self.name + " " + self.city //this will search from the name and city both
    
       //return self.name //this will search from the name only
     }
    }
    
  2. 在 viewController 中将 'SearchableWrapper' 变量作为属性创建

    var usersData = SearchableWrapper()
    var users: [UserDM] { //use this array as you are using array for your tableview controller
       return self.usersData.dataArray as! [UserDM]
    }
    
  3. 设置搜索栏代理和搜索回调

    override func viewDidLoad() {
       super.viewDidLoad()
       self.searchbar.delegate = self.usersData
       self.usersData.searchingCallBack = { isSearching, searchText in
           print("searching Text:= \(searchText)")
           self.tableView.reloadData()
       }
       self.loadDummyData()
    }
    
  4. 设置本地数组或使用 API|Webservice 调用从服务器加载数据

     func loadDummyData(){
           //This is just an example data
           let user1 = UserDM(name: "Hitendra Solanki", city: "Ahmedabad")
           let user2 = UserDM(name: "Justina Flores", city: "Arizona")
           let user3 = UserDM(name: "Lisa Minick", city: "Casper")
           let user4 = UserDM(name: "Moises Patrick", city: "Reno")
           let user5 = UserDM(name: "Martha Fisher", city: "Tacoma")
           let user6 = UserDM(name: "Martha McDaniel", city: "Irvine")
           let array : Array<UserDM = [
               user1,
               user2,
               user3,
               user4,
               user5,
               user6
           ]
           //In most of the cases, this data will come from the server side
           self.usersData.serverArray = array;
           self.tableView.reloadData()
     }
    

完成了

It's Done

联系

twitter: @hitendrahckr