- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我必须创建一个应用程序来恢复 API 中的数据,为此我在请求中使用了 NSURLSession.sharedSession
和 dataTaskWithRequest
。
我设法恢复了所有信息,但我不明白为什么最后调用 dataTaskWithRequest
。
func my_connection(login: NSString, password: NSString) -> Void {
let request: NSMutableURLRequest = create_request(login, password: password)
let session = NSURLSession.sharedSession()
print("test1")
let task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) -> Void in
if (data == nil) {
NSLog("Error Connection")
}
print("test2")
let res = response as! NSHTTPURLResponse!
if (my_code_HTTP(res.statusCode) == 0) {
var jsonData:NSDictionary = NSDictionary()
do {
jsonData = try NSJSONSerialization.JSONObjectWithData(data!,options:NSJSONReadingOptions.MutableContainers) as! NSDictionary
extract_data_projets(jsonData)
extract_data_activity(jsonData)
extract_data_history(jsonData)
display_board()
}
catch {
NSLog("Error")
}
my_connection_user()
my_connection_notes()
}
})
print("test3")
task.resume()
print("test4")
}
这是我编译后得到的:
test1
test3
test4
test2
最佳答案
是因为你在做异步请求。您的请求将在最少执行。在 resume()
之后,但不是紧接着。您在 test3
之后执行 task()
,因此这会使您的异步请求持续到最后。如果您在 test3
之前执行此操作,并且如果您的请求非常快,它可能会在 test4
之前完成,但您永远不会知道。
关于ios - 为什么最后调用 DataTaskWithRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33768354/
我的 iOS swift 应用程序出现奇怪的错误。编译器在第一行提示: let task = session.dataTaskWithRequest(request) { data, response
我正在使用 swift 创建一个 IOS 应用程序。最近,我遇到了一个奇怪的错误。我正在尝试检查 url 是否有效,因此,我正在使用 url 创建请求并检查响应。我使用 NSUrlSession 的
我必须创建一个应用程序来恢复 API 中的数据,为此我在请求中使用了 NSURLSession.sharedSession 和 dataTaskWithRequest。 我设法恢复了所有信息,但我不明
public func dataTaskWithRequest(request: NSURLRequest, completionHandler: (NSData?, NSURLResponse?,
如何等待 dataTaskWithRequest 完成?网络抓取完全结束后,我需要执行一些任务。 最佳答案 如果确实需要同步请求,可以使用信号量。 我在 NSURLSession 上实现了一个小类来提
在我的应用程序中,用户点击标记,我需要调用网络服务才能获取要显示的信息。我使用 NSURLSession.dataTaskWithRequest 然后在主队列上调用dispatch_async以向用户
我正在尝试制作一个通用类,该类将从 URL 读取 JSON 数据,并使用从 JSON 数据创建的 NSDictionary 执行回调。我已经创建了一个静态类来执行该功能,但它似乎在 dataTaskW
这个问题在这里已经有了答案: How can I get the Data from NSURLSession.sharedSession().dataTaskWithRequest (2 个答案)
我有以下代码: var resultData:NSData? task = session!.dataTaskWithRequest(request) { (data: NSData!, respon
我目前正在像往常一样开发一个 WS 调用,但我不知道为什么这只在我第一次调用它时有效,数据第一次有值(value),但如果我再次调用它,它返回 nil。如果我查看响应,我可以看到它在数据为 nil 时
这是我的代码: let targetURL = NSURL(string: self.urlStringForRequestChannelDetails) let request =
我有这个函数负责 API 调用 (makeAPICall),当 httpResponse.statusCode != 200< 时,我想为某些 API 响应抛出错误。问题是,据我所知,NSURLSes
我是 iOS 编程的新手,正在尝试创建我的第一个应用程序。我正在使用 从服务器获取一些数据 var task = NSURLSession.sharedSession().dataTaskWith
我有一个安全的 webView,它显示客户加载他的钱包。我传递安全信息 MPIN(如一次性密码)。有问题 @IBOutlet weak var loading: UIActivityIndicator
我有一个方法,它为我解析 JSON,然后在闭包中加载图像并将其保存到磁盘。该方法在 viewDidLoad 中被调用。然后加载表。问题是,当表格加载时,它里面只有一个单元格,因为 dataTaskWi
我想填充一个UITableViewController,因此在我的viewDidLoad中我有以下代码: override func viewDidLoad() { let rc = Rest
我在 Swift 中从 AFNetworking 2.5 迁移到 3.0,并且遇到了 dataTaskWithRequest 方法的问题。此方法位于 AFHTTPSessionManager 父类(s
当我想将 mysql 数据库中的数据填充到类对象中时,我的问题出现了。我试图返回一个对象数组,它返回 nil,然后它以某种方式填充自己。在返回空白数组之前如何使其填充? 这是我的代码和代码输出的屏幕截
我知道这个问题之前已经被问过几十次了,但不幸的是我对 Swift 的了解不够,无法根据我的问题调整这些答案。 基本上,我有一个函数可以向服务器上的 php 脚本发送 POST 请求,但接收响应的时间似
如有必要,我会尝试比较文件(图 block ),以替换手机上的旧文件和网站上的新文件。但是 func pathDir 中的 returnPathFile 被分配了对文件的引用,而无需等待检查并下载新文
我是一名优秀的程序员,十分优秀!