- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段代码可以从 php 返回的 Json 中获取员工数据,如下所示:
[{"id":"1","email":"KK","password":"KKK","firstName":"KKK","lastName":"KK","photo":null,"phone":"22","mobile":"2","position":"SS","adminstrator_id":"1","department_id":"1"}]
我试过的代码:
func getEmpById (id:String) {
emp = employee()
let myUrl = NSURL(string:"http://localhost/On%20Call%20App/scripts/getEmployee.php?id=\(id)")
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(myUrl!, completionHandler: {
(data, response, error) -> Void in
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! [[String: AnyObject]]
let dic = json[0]
if let id = dic["id"] , firstName = dic["firstName"] ,lastName = dic["lastName"], mobile = dic["mobile"],phone = dic["phone"],email=dic["email"],pos=dic["position"]{
self.emp.setId(id as! String )
self.emp.setFirstName(firstName as! String)
self.emp.setLastName(lastName as! String)
self.emp.setPhone(phone as! String)
self.emp.setMobile(mobile as! String)
self.emp.setEmail(email as! String)
self.emp.setPosition(pos as! String)
}
} catch {
print(error)
}
})
task.resume()
}
这一行的问题 let task = session.dataTaskWithURL(myUrl!, completionHandler:{
当应用程序到达这一行时,它将直接转到 task.resume()
不打印任何错误
对完成这项工作有什么帮助吗?
最佳答案
您的响应是Array
类型而不是Dictionary
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! NSArray
let dic = json[0] as! NSDictionary
print(dic.objectForKey("email"))
如果像这样使用 Swift 数组就更好了。
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! [[String: AnyObject]]
let dic = json[0]
print(dic["email"])
关于ios - 无法在 Swift 中执行 NSURLSession.sharedSession().dataTaskWithURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39291231/
我正在尝试使用完成处理程序将数据存储在 dataTaskWithUrl 之外,以便与其他方法一起使用。 这是我的代码: import UIKit import XCPlayground XCPSetE
我正在调用 Web 服务。在该方法中,session.dataTaskWithURL 会在一段时间后调用。我认为它没有提供正确的线程? my code below ——--------------
我有以下快速代码 let urlPath="..." // dont worry, there is an actual valid URL in there let url=NSURL(strong
我最近一直在学习 Objective C,我决定尝试连接。 NSURLConnection 的一切都很好,直到我发现它已经过时,并尝试使用 NSURLSession。 我正在尝试一个非常简单的示例,但
有什么方法可以在下载数据时快速从 dataTaskWithURL 获取进度? NSURLSession.sharedSession().dataTaskWithURL(...) 我需要在下载数据时显示
我一直在尝试混合 NSURLSession 类方法 dataTaskWithRequest 但未能完成 extension NSURLSession{ public override class fu
我一直在尝试调整 NSURLSession 类的 dataTaskWithURL 方法。这是我尝试过的 + (void)swizzleDataTaskWithRequest { Class class
我的意思是“慢”,回调类型等待远程服务器超时以有效触发(调用 vimeo 提要,解析它,然后在场景中显示 uiviews) 我大多不明白它是如何工作的。我希望在返回响应后立即从回调中填充我的 View
我正在尝试从 Web 服务器加载 JSON 文件。以下是我如何启动请求: let url:NSURL? = NSURL(string: lookupUrlFragment + query) // Ch
我有以下代码: let urlPath:String = apiURL + apiVersion + url + "?api_key=" + apiKey let url = NSURL(string
我有一个dataTaskWithUrl: var headers: NSDictionary = ["X-Mashape-Key": "my-secret-key" , "Accept
假设您正在使用NSURLSession dataTaskWithURL:... self.currentConnection = [sess dataTaskWithURL:goUrl com
我有一段代码可以从 php 返回的 Json 中获取员工数据,如下所示: [{"id":"1","email":"KK","password":"KKK","firstName":"KKK","las
我是 iOS World 的新手。当我看到下载文件的方法时。我看到这段代码: // create url let imageURL = NSURL(string: Co
我正在使用 Apple 的 NSURLSession#dataTaskWithURL 方法执行一个简单的获取请求 [[mySession dataTaskWithURL:myUrl completio
我正在尝试从我的服务器下载一个 94KB 的图像文件。我尝试了两种方法来做到这一点:使用 NSURLSession dataTaskWithURL 和 NSData dataWithContentsO
我正在使用 google places api 来搜索附近的地点。但是,我只想要特定类型的地方。当我只指定一种类型时,代码(如下所示)有效,但是当我添加第二个类型时,我的代码运行并立即在这一行给我一个
我正在关注this tutorial并尝试对我的网络服务进行单元测试。该教程是 swift 2 中的,我已将其写入 swift 4 中。我已经完成了所有操作,但应用程序崩溃了,无论我是在单元测试还是运
我是一名优秀的程序员,十分优秀!