我在Objective-C Mac应用程序中使用ASIHTTPRequest。我创建了一个访问Web服务的公共API(通过ASIHTTPRequest)的类,我们称之为PublicAPI
。我所想要做的是编写直接从Web服务,像这样返回数据的方法......Objective-C和ASIHTTPRequest返回值
publicAPI = [[PublicAPI alloc] initWithAccountInfo:email:[self email] password:[self password]];
NSArray *theData = [publicAPI getData];
所以,getData
需要启动ASIHTTPRequest 和返回来自服务器的响应。问题是我想通过ASIHTTPRequest的startAsynchronous
选项进行ASIHTTPRequest调用,该选项将服务器的响应委托给requestFinished
方法。
如何使用requestFinished
的结果作为getData
方法的返回值?
感谢您的咨询!
感谢您的意见,这是有道理的。那么,那么,习惯性的再次获取数据的方法是什么呢?也许'getData'只会启动请求(并且不会返回任何内容),然后我会使用NSNotification来告诉其他类数据已返回?谢谢! – 2011-04-19 04:18:12
您可以使用具有成功/失败回调的委托。如果您需要立即通知多个班级,您可以播发通知。最好的方法是成功/失败。有一个食谱,在新iOS iOS食谱书(目前处于测试阶段)中包含阻止回调的NSURLConnection:http://pragprog.com/titles/cdirec/ios-recipes – gerry3 2011-04-19 19:05:12
感谢您的提示。你提供的信息是令人兴奋的,我需要的。这篇文章也有帮助:http://css.dzone.com/articles/do-not-publishcreating-your – 2011-04-20 02:38:40