performSelectorInBackground
全部标签 我需要对某个网址进行多次https调用。因此我做了这样的事情//ViewControllerSource-(IBAction)updateButton_tapped{[selfperformSelectorInBackground:@selector(updateStuff)withObject:nil];}-(void)updateStuff{//dootherstuffhere...NSMutableURLRequest*request=[[NSMutableURLRequestalloc]initWithURL:[NSURLURLWithString:self.url]];[re
我无法理解在后台调用函数之间的区别[selfperformSelectorInBackground:@selector(getFriendFaceBookList)withObject:nil];并在Thread中调用相同的函数:[NSThreaddetachNewThreadSelector:@selector(getFriendFaceBookList)toTarget:selfwithObject:nil];哪一个是在非ARC应用程序中工作的最佳方式。谢谢 最佳答案 它们是相同的。参见DocumentationperformS
在我将myViewController推送到导航堆栈后,我对一些数据进行了简单的网络请求,这些数据填充了myViewController上的几个字段。我不希望这个请求阻塞主线程,所以我使用performSelectorInBackground来实现它。当请求返回时,我使用performSelectorOnMainThread更新UI。除了放弃请求外,这种方法工作正常。假设用户按下ViewController,网络请求开始,然后用户立即弹出ViewController并在应用程序中执行其他操作。在这种情况下,网络请求返回到一个不存在的对象。我该如何处理这种情况?我考虑过一个更健壮的网络层
我有一个UITableView,当项目被选中时,它加载一个viewController,在它内部使用performSelectorInBackground在后台执行一些操作。如果您慢慢点击tableView中的项目(基本上允许在后台执行的操作完成),一切都会正常进行。但是,当您快速选择项目时,该应用会快速返回一些内存警告,直到它崩溃,通常是在大约7或8次“点击”或选择之后。知道为什么会这样吗?当我将代码从后台线程移至主线程时,一切正常。您只是无法快速选择tableView,因为它正在等待操作完成。代码片段://thisiscalledfrom-(void)tableView:(UITa
我有一个按钮,按下该按钮会调用从一系列URL加载信息(大约5秒加载时间)。在实际调用这些电话之前,我想添加一个“正在加载”警报。当我使用UIAlertView时,屏幕会变暗,就像它即将弹出一样,但直到加载数据时它才会变暗-太晚了!我不知道发生了什么,就像我为加载数据所做的调用立即优先于显示新View,即使它们是在添加新View(或显示警报)的调用之后立即进行的.这是代码的摘要版本:-(void)refresh{UIAlertView*av=...[avshow];//thisshouldpopupbeforedatbeginstoload[myDataSourceloadData];/
当后台任务完成时,如何在iPhone应用程序IOS程序中获得主UI线程的指示?背景我正在尝试根据HowtoaddaUIActivityIndicatortoasplashscreeninaiphoneapplication?上的概念设置一个加载指示器打算在AppDelete中使用“performSelectorInBackground”加载模型数据因此,我需要在RootViewController中以某种方式告知数据何时在后台完成加载,以便它可以(a)使用数据更新tableview和(b)删除任何事件指示器我假设在这里做事的方式如下:在AppDelegatedidFinishLaunc
在我的应用程序中,我使用performSelectorInBackground:从磁盘加载图像。在使用dispatch_async进行一些单元测试后,我决定用dispatch_async调用替换我的performSelectorInBackground。dispatch_queue_tcurrentBackgroundQueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0);dispatch_async(currentBackgroundQueue,^{[selfgetImageFromDisk:sPathdeleg
我读过一篇关于@selector的文章,但我找不到我的问题的答案我正在尝试将参数传递给@selector。这是关于我所做的事情的简单代码:-(void)viewDidLoad{[superviewDidLoad];NewsCell*cell=(NewsCell*)[tableViewdequeueReusableCellWithIdentifier:simpleTableIdentifier];if(cell==nil){NSArray*nib=[[NSBundlemainBundle]loadNibNamed:@"NewsCell"owner:selfoptions:nil];cel
我一直在用ObjectiveResource做一些测试(iOS->Rails桥)。事情似乎可行,但库是同步的(或者可能不是,但是themailinglistthatsupportsitisamess)。我想知道在performSelectorInBackground中运行所有调用的陷阱是什么......在小型测试中它似乎工作正常,但情况就是这样许多事情都是错误的。我注意到的唯一警告是您必须在performSelectorInBackground调用的方法中创建一个自动释放池(然后您应该只调用drain而不是release?)。 最佳答案
我的iOS应用程序中有一个异步服务器请求:[selfperformSelectorInBackground:@selector(doSomething)withObject:nil];如何检测此操作的结束? 最佳答案 在doSomething方法的末尾调用?!-(void)doSomething{//Threadstartshere//Dosomething//Threadendshere[selfperformSelectorOnMainThread:@selector(doSomethingDone)withObject:nil