HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 正在调用 – [NSRunLoop runUntilDate:]一个好主意?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@L_674_0@通常是个好主意 – [NSRunLoop runUntilDate:]?它似乎没有任何问题,但它让我很紧张,告诉运行循环从运行循环内运行.

更多信息:

我现在有一个从REST服务获取数据的项目.需要获得的一个关键信息是具有有效数据的日期范围.这只是一小部分数据,只需要获取一次,所以我认为处理它的最佳方法是让属性在局部变量为零时下载数据.我正在使用ASIhttprequest和ASINetworkQueue,因此认情况下一切都是异步的,为了使其工作,在下载和处理数据之前,此属性不能返回.这是我的代码的大纲,变量的名称已被更改以保护无辜:

__block BOOL isWorking = YES;
__block ASIhttprequest *request = [[[ASIhttprequest alloc] initWithURL:/*actual URL*/] autorelease];
[request setCompletionBlock:^{
    // set local variable
    isWorking = NO;
}];
[request setFailedBlock:^{
    // show alert to user
    isWorking = NO;
}];
[queue ad@R_801_11308@eration:request];

while (isWorking) {
    [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
}

再次,这似乎工作得很好.使用这种方法有任何潜在的问题吗?

解决方法

除非重叠的@L_674_0@树完全可重入,否则必须确保不要从正在@L_674_0@的运行循环@L_674_0@的任何方法中执行此操作.

Cocoa Touch UI代码没有记录为可重入(事实上,Apple DTS有警告/提示它不是),因此如果您的获取数据处理程序可以通过UI方法(或其他非方法)进行@L_674_0@可以在UI运行循环中@L_674_0@的-reentrant代码),不建议从内部@L_674_0@UI运行循环.

大佬总结

以上是大佬教程为你收集整理的iphone – 正在调用 – [NSRunLoop runUntilDate:]一个好主意?全部内容,希望文章能够帮你解决iphone – 正在调用 – [NSRunLoop runUntilDate:]一个好主意?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。