【问题标题】:search in firestore swift快速在 Firestore 中搜索
【发布时间】:2020-08-24 10:02:03
【问题描述】:

我正在尝试在我的应用中应用搜索,但它显示的随机产品与我在 searchBar 输入的不同

方法:

    static func getSearch ( name : String ,completion : @escaping (_ product : ProductObject) ->  ()) {
        
        
        let path = Firestore.firestore().collection("Products").whereField("name" , isLessThanOrEqualTo: name)
        path.addSnapshotListener { (query, error) in
            if error != nil {return}
            guard let doucments = query?.documents else {return}
            for doc in doucments {
                
                if let data = doc.data() as [String: AnyObject]? {
                    let newData = ProductObject(dictionary: data)
                    completion (newData)
                }
            }
        }
    }

在 searchBar 上的文字确实发生了变化:

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
        
        self.products = []
        ProductApi.getSearch(name: searchText) { (pro) in
            self.products.append(pro)
            DispatchQueue.main.async {
                self.collectionView.reloadData()
            }
        }
        if searchTxt.text?.count == 0  {
            
            DispatchQueue.main.async { searchBar.resignFirstResponder() }
        }
        collectionView.reloadData()
    }

【问题讨论】:

    标签: ios swift firebase google-cloud-firestore


    【解决方案1】:

    这是我找到的最好方法:

    让 path = Firestore.firestore().collection("Products").order(by: "name").start(at: [name]).end(at: ["(name) \u{f8ff }"])

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2015-03-20
      • 2011-05-11
      • 2021-01-24
      • 1970-01-01
      相关资源
      最近更新 更多