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

        let placesClient = GMSPlacesClient()
        placesClient.autocompleteQuery(searchText, bounds: nil, filter: nil) { (results, error:NSError?) -> Void in
            self.resultsArray.removeAll()
            if results == nil {
                return
            }
            for result in results!{
                if let result = result as? GMSAutocompletePrediction{
                    self.resultsArray.append(result.attributedFullText.string)
                }
            }
            self.searchResultController.reloadDataWithArray(self.resultsArray)
        }
}

我用这种方法在谷歌 map 上搜索地址。但是发现Use of unresolved identifier 'GMSPlacesClient'错误。我该如何解决?

最佳答案

当您的新类(class)的目标与另一个目标不同时,可能会发生 Use of unresolved identifier 'GMSPlacesClient' 错误。在此thread中声明,它可能有一个测试目标,而另一个没有。对于这种情况,您必须将所有类都包含在测试目标中,或者不包含任何类。

blog还为错误“使用 Unresolved 标识符”提供了可能的解决方案。将您类(class)的访问控制更改为公开。此外,还标记您打算公开测试的所有方法。还尝试将您希望能够为其编写单元测试的类添加到测试目标。

您也可以检查此related SO question。希望这可以帮助!

09-16 01:56