从 iOS 7 开始将数组发送到服务器
Posted
技术标签:
【中文标题】从 iOS 7 开始将数组发送到服务器【英文标题】:Send array to server starting with iOS 7 【发布时间】:2016-04-13 11:23:49 【问题描述】:我需要向服务器发送许多变量。以前我使用这样的构造:
let myURL = NSURL(string: "http://example.com");
let request = NSMutableURLRequest(URL:myURL!);
request.HTTPMethod = "POST";
let postString = "param1=\(var1)¶m2=\(var2)"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
现在我不仅需要发送 param1 和 param2 等变量,还需要发送少量数组。我知道有一个名为 Alamofire 的库,但它不支持 ios 7。
【问题讨论】:
【参考方案1】:你可以这样做,
let mapDict = [ "a":"First", "b":"Second"]
let json = [ "title":"kk" , "dict": mapDict ]
let jsonData = NSJSONSerialization.dataWithJSONObject(json, options: .PrettyPrinted, error: nil)
// create post request
let url = NSURL(string: "http://example.com/post")!
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
// insert json data to the request
request.HTTPBody = jsonData
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) data,response,error in
if error != nil
println(error.localizedDescription)
return
if let responseJSON = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as? [String:AnyObject]
println(responseJSON)
task.resume()
您可以根据需要使用数组而不是字典。希望这会有所帮助。 :)
【讨论】:
谢谢,但这段代码不适用于 Swift 2 和 Xcode 7。它需要 try 块和其他一些更改以上是关于从 iOS 7 开始将数组发送到服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 中使用 NSDictionary 添加图像并使用 POST 方法将数组列表发送到服务器