【发布时间】:2015-02-09 07:30:40
【问题描述】:
我正在尝试对使用built-in REST API 创建的 Parse 数据库发出 GET 请求。当用户在 UISearchBar 中输入文本时进行 API 调用,最终目标是在 UITableView 中显示返回的数据。下面的代码仅捕获了我发出有效 HTTP 请求的尝试,我试图查看“Query1”是否与搜索字符串匹配(“Query1”是我的 Parse 数据库中的一个参数,基本上用作关联的搜索词)。
//Mark - UISearchBarDelegate
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
makeRequest(searchBar.text)
}
func makeRequest (searchString : String) {
//REST API call to the sampleObjectData class
var request = NSMutableURLRequest(URL: NSURL(string: "https://api.parse.com/1/classes/sampleObjectData")!)
let session = NSURLSession.sharedSession()
request.HTTPMethod = "GET"
//THIS IS MY TROUBLE AREA
var params = urllib.urlencode({"where";:json.dumps({
"Query1": "\(searchString)"
})})
var error: NSError?
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &error)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
//The kAppId & kRestAPIKey calls are referencing contstants at the top of the file
request.addValue("X-Parse-Application-Id", forHTTPHeaderField: kAppId)
request.addValue("X-Parse-REST-API-Key", forHTTPHeaderField: kRestAPIKey)
var task = session.dataTaskWithRequest(request, completionHandler: { (data, response, err) -> Void in
var stringData = NSString(data: data, encoding: NSUTF8StringEncoding)
println(stringData)
})
task.resume()
}
结果是无法构建的代码,因为我不知道如何使用 Swift 将参数应用于 Parse REST API。任何帮助将不胜感激。
【问题讨论】:
标签: ios rest swift parse-platform uisearchdisplaycontroller