0
うわー、これは変です。私は自分のWebサーバーのログを見て、シミュレータで自分のコードを実行すると、次の要求を行います。シミュレータとiPhoneが同じコードで異なるウェブリクエストを行う
2016-07-08 13:00:10 172.31.52.24 GET/admin/API /都市/ロンド
しかし、私は私のデバイスに公開するとき、それはこれを行います...
2016年7月8日午後01時04分03秒172.31.52.24 GET /管理/ API /都市pageindex = 1 & term = Londo
これはどのように可能ですか?
このWeb要求コードである...
public func DoWebRequest(url: String, parameters: [String: AnyObject]? = nil) -> Promise<AnyObject> {
return Promise { fulfill, reject in
let request = Alamofire.request(.GET, webServiceUrl + url)
request.responseString { response in
guard response.result.error == nil else {
reject(response.result.error!)
return
}
fulfill(response.result.value!)
}
}
}
リポジトリ...
public func fetchCities(term: String) -> Promise<[City]> {
return DoWebRequest("cities/\(term)") { self.BindCity($0) }
}
サービス...
public func getCities(term: String) -> Promise<[City]> {
return tourRepository.fetchCities(term)
}
クライアント...
func updateSearchResultsForSearchController(searchController: UISearchController) {
if searchController.active && searchController.searchBar.text?.characters.count >= 4 {
tourService.getCities(searchController.searchBar.text!)
.then { result -> Void in
self.cities = result
}
} else {
self.cities = []
}
}
あなたはおそらくタイプしているロンドンを逃すでしょう –
その結果、別のURLになるのはなぜですか? –
コードを共有できますか? –