我是一名iOS程序员(不是很有经验)。我通常为所有其他类创建一个HttpClient.class。像:
@implementation HttpClient
-(NSString*)getGetResponse :(NSString*)url{
//do all http get request work
return result;
}
@end
然后我可以在我的项目中的任何地方调用此getGetResponse:
来进行http get work。
NSString *result = [httpClient getGetResponse:@"http://www.example.com/api"]
但是在类中运行的Android请求网络扩展了AsyncTask.Like:
public class HttpTask extends AsyncTask<String,String, String > {
@Override
protected String doInBackground(String... params) {
//network code here
return result;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
}
}
这让我很困惑。我如何做与上面的objective-c代码相同的事情?(将结果返回给调用者)
答案 0 :(得分:0)
你没有。 HTTP调用需要asycnhronously发生。而不是返回结果,强制线程等待,您需要执行任何需要onPostExecute结果的处理。