gpt4 book ai didi

iphone - 如何暂停/停止功能直到 SOAP 请求完成

转载 作者:行者123 更新时间:2023-12-03 21:21:29 25 4
gpt4 key购买 nike

编辑:我遇到的问题是我正在使用 TapKu 日历,所以我依赖提供的委托(delegate)。问题是这样的:

- (NSArray*) calendarMonthView:(TKCalendarMonthView*)monthView marksFromDate:(NSDate*)startDate toDate:(NSDate*)lastDate{

//SOAP Request has NSURLConnection which runs asychonrous delegate methods.
//SOAP Request will return before the data array has been populated
[self SOAPRequest:startDate];

//i need to do something like this, however the SOAPRequest will return and get stuck into the loop instead of the asychronos delegates firing
//therefore i can never set bGettingData to NO.
int iWait;
while (bGettingData) {
iWait++;
}

return dataArray;

}

你好,

在我正在创建的应用程序中,我依靠 SOAP 请求来检索数据、解析 XML 并填充数组。

我遇到的问题是,当我检查数组时它是空的,因为 SOAP 请求尚未完成。如何停止执行代码,直到 SOAP 请求完成并恢复代码?这可以通过回调或线程来完成吗?

谢谢

最佳答案

不要暂时停止、 sleep 或等待,而是简单地退出/退出/返回当前例程/函数/方法。

将当前的“内容”分解为多个代码片段,每个片段都有自己的方法。

使用后续方法执行接下来的操作,并让异步网络/SOAP 请求的完成例程调用该方法。

基本上,你的问题是你仍然从程序编码的角度思考。正确的范例是使用事件驱动编码:让操作系统调用您的代码,而不是让您的代码调用操作系统并等待。

关于iphone - 如何暂停/停止功能直到 SOAP 请求完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4180628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com