objective-c-ios 想问一个很简单的异步问题

问题描述

ios 想问一个很简单的异步问题
[manager POST:@""https://www.baidu.com"" parameters:@{} success:^(AFHTTPRequestOperation *operation id responseObject) {

        NSLog(@""ok1""); 

}

NSLog(@""ok2"");

很明显这段代码 如果打印的话 肯定是:先ok2 再ok1

有没有什么办法先ok1 再 ok2

当然不能把 NSLog(@""ok2"");这句放到异步代码块之后的情况下 达到上述要求

解决方案

异步的本身就是在需要做等待的地方不等待继续执行后面的事情,想要等待post完成再走下面的那就用同步来做啊,为什么要用异步的方式来完成同步做的事情呢?

解决方案二:
首先你问这个问题就已经违背了多线程设计的思想,使用AFNetworking来异步加载数据就是为了,防止主线程卡顿,而你要达到那种效果,就必须等数据
加载完成了返回,加载数据耗时间,导致UI卡顿。可以从你的代码看出来,你可能是烦于每次请求数据都要写AFN这么一大串的方法,你想在AFNetwork上在进行二次封装,!所以达到你的那种效果不难,只是没有实际意义了。

解决方案三:
不知道你处理过tableView的reloadData没有 那个就是等请求数据结束后 在执行reloadData 能达到你的要求

解决方案四:
[manager POST:@""https://www.baidu.com"" parameters:@{} success:^(AFHTTPRequestOperation *operation id responseObject) {
NSLog(@""ok1"");
//回调主线程
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSLog(@""ok2"");

}];
}
我懂题主的意思 就是在次线程中完成任务之后,又继续回到主线程执行任务 可以在次线程中添加一个返回到主线程的方法就 ok 啦
希望能帮到你

解决方案五:
简单点 . 在NSLog(@""ok2"") 之前加个判定 if() ...

时间: 2024-10-31 22:32:11

objective-c-ios 想问一个很简单的异步问题的相关文章

绘图-MATLAB做一个很简单的图

问题描述 MATLAB做一个很简单的图 用matlab把下面这个表格实现,横坐标表示字种数,纵坐标表示百分比,具体怎么实现,多谢了 解决方案 可以呀,把plot改为bar 解决方案二: x=[500 1000 1500 2000 2500 3000 3500 4000];y=[78.53 91.92 96.48 98.39 99.24 99.63 99.82 99.92];plot(xy) 解决方案三: 想请你半个忙,如果可以加我QQ:815359755 解决方案四: x=[500 1000 1

数字-请教一个很简单的关于azure的技术问题

问题描述 请教一个很简单的关于azure的技术问题 请教一个很简单的技术问题:假设在windows azure中的网站,被浏览次数在管理后台哪里可以看到?其中"请求"数字是访问次数吗? 解决方案 azure没有这样的功能,你可以在你的页面上嵌入一段脚本,让第三方网站帮你统计.百度.google都有这样的站长统计. 解决方案二: 您好, 据我所知,Azure website service中可以在monitor(监视)面板中通过添加"Metric"将"Req

想做个很简单的服务器,但是不知道怎么做了,求指点,真的很简单

问题描述 想做个很简单的服务器,但是不知道怎么做了,求指点,真的很简单 就是c/s模型的服务器端,客户端在安卓手机上,通过URL请求服务器数据,服务器返回一串json数组就好.这个功能的服务器该看什么方面的东西??完全没做过,求大牛. 解决方案 最简单的,服务器用jsp写一个web service,客户端用httpclient连它.具体google下. 解决方案二: 参考:http://blog.csdn.net/ice343241993/article/details/22037829http

我想问一个问题 在azure 用Windows虚拟机搭建VPN 最大支持多少并发量

问题描述 我想问一个问题 在azure 用Windows虚拟机搭建VPN 最大支持多少并发量 我想问一个问题 在azure 用Windows虚拟机搭建VPN 最大支持多少并发量 如果点到站点的是多少? 站点到站点的是多少? 解决方案 azure和windows server都没有限制.但是根据用户负载,过多的连接实际上已经过慢而变得不可用. 经验值是,如果你是A1实例的虚拟机,支持一般的网页浏览和移动终端使用,大约可以支持10个用户. 解决方案二: 取决于你的机器的性能,你申请的资源 解决方案三

请教一个很简单的问题,如何在ASP.net页面上显示一个变量

问题描述 请教一个很简单的问题,如何在ASP.net页面上显示一个变量,比如登陆的时候,在固定位置显示***你好.如果不用response.write还有没有别的办法啊 解决方案 解决方案二:可以在你想放变量的地方放一个LABEL..赋值后显示就OK了解决方案三:好的,谢谢啦解决方案四:方法很多,常见的如楼上

activity-我想问一个关于android代码的问题,本人初学者

问题描述 我想问一个关于android代码的问题,本人初学者 我创建了一个activity,显示一个textview,一个button,和一个edittext,布局和注册活动都做了,为什么打开应用就闪退,提示说打不开 首先是Activity package come.xample.uiactivity; import com.example.uiactivity.R; import android.app.Activity; import android.os.Bundle; import an

移动互联网有一个很简单的矛盾难以调和

摘要: 移动互联网有一个很简单的矛盾难以调和,当下移动设备尚无法比拟PC之时,人们对移动设备的使用却远超PC,而在这样的大环境下,使用者希望移动应用既能够具有如PC软件一样强大的 移动互联网有一个很简单的矛盾难以调和,当下移动设备尚无法比拟PC之时,人们对移动设备的使用却远超PC,而在这样的大环境下,使用者希望移动应用既能够具有如PC软件一样强大的使用广度,又尽可能简单到能够让设备可以承受.这形成了一个"加减法",而对于移动搜索来说,这个"加减法"尤其难做. 移动搜

java-新手问一个很奇怪的问题

问题描述 新手问一个很奇怪的问题 class Demo { int num = 1; int add = 2; Demo() { num = 5; add = 6; } void show() { System.out.println("Fu num="+num+" Fu add="+add); } } class DemoA extends Demo { DemoA() { this.num = 3; this.add = 4; } void show() { S

安卓-没有代码,我单纯的想问一个关于二维码的问题

问题描述 没有代码,我单纯的想问一个关于二维码的问题 就是说,我在视频上学会了在安卓手机上如何扫描二维码,但是我尝试着扫描一些广告的二维码,他返回的数据就是一个网址,但是我现在要实现的功能是: 每个学生都有自己的二维码,上面有他们的信息,我要制作一个扫二维码的功能来实现对他们二维码的扫描,然后将该学生的信息显示到手机上面,请问这个应该怎么实现呀,我应该再在程序里面加什么呢 解决方案 看你二维码里面是什么,如果是学员ID,你可以扫完之后去学校的学生系统里面去根据id去得到这个用户的信息,不知道对不