Tag: dispatch async

NSUrlSession在Swift中运行缓慢

在迅速,我正在迅速下载数据到我的iOS应用程序。 它工作得很好,尽pipe最终发生的事情是它可能需要长达20秒的时间来加载,即使我正在快速连接。 我不明白为什么会发生这种情况。 我几乎想要在应用程序打开之前下载所有的数据,虽然我不想这样做,因为我知道可以加快速度,我知道这是可能的,因为像YouTube和Facebook这样的应用程序可以加载和刷新小于20秒。 哎呀,YouTube加载video的时间less于这段时间。 我知道我的服务器没有那么快,但是我碰巧知道我的服务器比那更快。 我想提醒你,页面最终不会很快加载。 请帮忙。 这是NSUrlSession代码。 func contactApiUrl(){ let url = "http://www.example.com" let nsUrl = NSURL(string:url) let nsUrlRequest = NSURLRequest(URL: nsUrl!) let task = NSURLSession.sharedSession().dataTaskWithRequest(nsUrlRequest){ (data, response, error) in if let dat = data{ let contents = NSString(data:dat, encoding:NSUTF8StringEncoding) as! String self.aboutText.text = contents } } task.resume() } 我想感谢任何人可以提前帮助我。

将URL数据保存到variables

所以我试图从RESTful API中获取简单的数据串。 以下是响应的样子: Hello 它没有用XML或JSON格式化,或者只是一个简单的string,因为一次只传递一个单词。 所以这里是我的快速的样子: let task = session.dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in if error != nil { println("error: \(error.localizedDescription): \(error.userInfo)") } var withNewLine:NSString = NSString(data: data, encoding: NSUTF8StringEncoding)! let str:NSString = withNewLine.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()) dispatch_async(dispatch_get_main_queue(), { self.spellCorrection = str }) }) task.resume() 在进入dispatch_async()方法之前,我在“str”variables中得到正确的数据。 但是,当我进入dispatch_async()方法的“str”variables变成零,我不知道为什么。 我只是试图把这个单词保存在我的类中的一个variables中,所以如果我正在做这个完全错误的让我知道。 我真的很感激任何帮助,我可以得到。 谢谢! 编辑 好的,所以我应该在第一次发布时join这个。 我也试过这个: let […]

Swift 3警告调度asynchronous

我有这个代码: DispatchQueue.global(priority: DispatchQueue.GlobalQueuePriority.default).async { let url = URL(string: itemImageURL ) let data = try? Data(contentsOf: url!) if data != nil { DispatchQueue.main.async{ cell.advImage!.image = UIImage(data: data!) } } } 我在Swift 3中得到这个警告: iOS 8.0中不推荐使用“默认”:改为使用qos属性 在第一行。 还没有find解决办法。 有人吗?

将parameter passing给dispatch_async

我是新来的Swift,看看dispatch_async函数是如何工作的。 API文档显示具有两个参数的dispatch_async。 不过,我可以通过一个论点,没关系。 dispatch_async(dispatch_get_main_queue()) { } 我怎么不需要通过两个论点? 谢谢, API文件:

在iOS中的dispatch_async和块

这段代码是什么意思? dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ TMBaseParser *parser=[[TMBaseParser alloc] init]; parser.delegate=self; NSString *post =nil; NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding]; [parser parseForServiceType:TMServiceCategories postdata:postData]; }); 请简单解释一下。谢谢