【问题标题】:UISearchBar func with Firebase Database and swiftUISearchBar func 与 Firebase 数据库和 swift
【发布时间】:2018-03-28 19:48:41
【问题描述】:
 @IBOutlet weak var tableViewhospitalss: UITableView!
@IBOutlet weak var searchBar: UISearchBar!


//list to store all the Hospitals
var hospitalsList = [hospitalsModel]()
var searchActive : Bool = false
var filtered:[String] = []

和功能

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    searchActive = true
}

func searchBarTextDidEndEditing(searchBar: UISearchBar) {
    searchActive = false
}

func searchBarCancelButtonClicked(searchBar: UISearchBar) {
    searchActive = false
}

func searchBarSearchButtonClicked(searchBar: UISearchBar) {
    searchActive = false
}

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {

    filtered = hospitalsList.filter  ({ (text) -> Bool in
        let temp: NSString = text! as NSString
        let range = temp.range(of: searchText, options: NSString.CompareOptions.caseInsensitive)
        return range.location != NSNotFound
    })
    if(filtered.count == 0){
        searchActive = false;
    } else {
        searchActive = true;
    }
    self.tableViewhospitalss.reloadData()
}

enter image description here

任何人有任何建议,请它给我错误 无法将类型“[hospitalsModel]”的值分配给类型“[String]”

【问题讨论】:

    标签: swift database firebase uisearchbar


    【解决方案1】:

    问题是您正在尝试过滤并将“hospitalsModel”转换为字符串,因为您过滤的 var 是 [String],请尝试使用 map 或 filter -> 返回相同的类型。

    【讨论】:

    • 我不明白我应该怎么做,你能告诉我吗
    • 更改过滤类型,var过滤:[hostpitalsModel]
    • 我可以将文件以 zip 格式发送给您,您可以帮我编辑它吗?如果可以,请先生
    • 一定要送我到 fenk86@gmail.com
    【解决方案2】:

    类医院模型:NSObject {

    var id: String?
    var name: String?
    var subName: String?
    var number: String?
    var location: String?
    var content: String?
    var img: String?
    var ta5sos: String?
    var workTime: String?
    var location2 : String?
    var aamOrTa5sosy : String?
    var latitude: Float?
    var longtude: Float?
    
    
    init(id: String?, name: String?, subName: String?, number :String?, location:String?,content: String?, img: String?, ta5sos: String?, workTime: String?, location2 : String?, aamOrTa5sosy : String?, latitude: Float? , longtude: Float?){
        self.id = id
        self.name = name
        self.subName = subName
        self.number = number
        self.location = location
        self.content = content
        self.img = img
        self.ta5sos = ta5sos
        self.workTime = workTime
        self.location2 = location2
        self.aamOrTa5sosy = aamOrTa5sosy
        self.latitude = latitude
        self.longtude = longtude
    
    
    }
    

    } `

    【讨论】:

      【解决方案3】:
      class HospitalModel: NSObject  {
       var id: String?
       var name: String?
       var subName: String?
       var number: String?
       var location: String?
       var content: String?
       var img: String?
       var ta5sos: String?
       var workTime: String?
       var location2 : String?
       var aamOrTa5sosy : String?
       var latitude: Float?
       var longtude: Float?
      
      
       init(id: String?, name: String?, subName: String?, number :String?, location:String?,content: String?, img: String?, ta5sos: String?, workTime: String?, location2 : String?, aamOrTa5sosy : String?, latitude: Float? , longtude: Float?){
          self.id = id
          self.name = name
          self.subName = subName
          self.number = number
          self.location = location
          self.content = content
          self.img = img
          self.ta5sos = ta5sos
          self.workTime = workTime
          self.location2 = location2
          self.aamOrTa5sosy = aamOrTa5sosy
          self.latitude = latitude
          self.longtude = longtude
       }
      
       class func filterByName(collection: [HospitalModel], text: String) -> [HospitalModel] {
          return collection.filter({ text.lowercased().range(of: $0.name ?? "") != nil  })
       }
      
       class func filterBySubname(collection: [HospitalModel], text: String) -> [HospitalModel] {
          return collection.filter({ text.lowercased().range(of: $0.subName ?? "") != nil  })
       }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-18
        • 2021-04-08
        • 1970-01-01
        • 2019-04-28
        • 2019-07-28
        • 1970-01-01
        相关资源
        最近更新 更多