- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
似乎该函数调用[self updateUI];被嘘封锁。
boo是在另一个后台线程中运行还是与foo相同,如下面的代码?
[self updateUI]如何?不被嘘阻止吗?
- (void)MainFunction
{
[self performSelectorInBackground@selector(foo) withObject:nil];
}
- (void)foo
{
[self performSelectorInBackground@selector(boo) withObject:nil];
//updaate UI in MainThread
[self updateUI];
}
- (void)boo
{
//function here take long time to run;
}
最佳答案
在您的代码中,似乎在后台中调用foo,因此无法在后台线程中更新 UI,因为您需要在主线程中进行此操作。无论如何,performSelectorInBackground
有点旧...以这种方式使用dispatcher
:
- (void)MainFunction
{
[self foo];
}
- (void)foo
{
dispatch_async(dispatch_get_global_queue(DISPATCH_PRIORITY_DEFAUL, 0ull), ^{
[self boo];
dispatch_async(dispatch_get_main_queue(), ^{
//updaate UI in MainThread
[self updateUI];
};
};
}
- (void)boo
{
//function here take long time to run;
}
- (void)foo
{
dispatch_async(dispatch_get_global_queue(DISPATCH_PRIORITY_DEFAUL, 0ull), ^{
[self boo];
};
[self updateUI];
}
关于ios - iOS performSelectorInBackground内部的performSelectorInBackground,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23867970/
performSelectorInBackground 是否为每个调用生成一个新线程,还是为所有调用(可能排队)共享一个线程(不是主线程)? 最佳答案 每次调用 -performSelectorInB
在 View 中,我显示从 coredata 获取的图像,我使用轮播类显示的图像。在同一 View 中,我有 Facebook 按钮,它将导航到另一个屏幕。当我单击 Facebook 按钮时,不会执行
我有一个 Action ,应该制作一些动画,在这些动画期间,我想推送另一个 View Controller ,但我想保持动画运行...我的想法是使用 performSelectorInBackgrou
抱歉新手问题(也许)。我正在为 ios 开发一个应用程序,我正在尝试从主线程中执行一个外部 xml 读取,以便在调用发挥其魔力时不卡住 ui。 这是我所知道的使进程不在 objective-c 的主线
我正在调用一个在后台线程中运行的方法: [self performSelectorInBackground:@selector(loadViewControllerWithIndex:) withOb
即使用户最小化并开始在 ios 设备上处理其他内容,我也试图让应用程序在后台任务上运行,但只有当应用程序在屏幕上处于事件状态时,我的方法才会被命中。我在这里遗漏了一些明显的东西吗? -(void) v
我想在后台调用这个方法, -(void)downloadImage_3:(NSString* )Path AtIndex:(int)i 我以这种方式调用,但它崩溃并显示 EXC_BAD_ACCESS
好吧,我遇到了一个看似非常简单的情况,但无法弄清楚。 在我的 viewDidLoad 中,我有: -(void)viewDidLoad { [super viewDidLoad]; W
简单的问题:如果我这样做会发生什么: - (void)viewDidLoad { [self performSelectorInBackground:@selector(myBGMethod)
我有一个类 MatchDayDataController ,有一个方法 pushIncompleteDataToServer。 在另一个类 SummaryVC.m 中,我想在 performSelec
我需要对某个网址进行多次 https 调用。因此我做了这样的事情 //ViewController Source -(IBAction) updateButton_tapped { [self
我是 iOS 开发新手。我在运行后台线程时遇到问题。在我的代码中,resetUi 在主 UI 线程上运行,现在我正在启动一个后台线程来获取图像数据并更新我的图像。一切正常,但在调用 performSe
如何使用 performSelectorInBackground 调用具有多个参数的方法,如下所示? 示例方法: -(void) reloadPage:(NSInteger)pageIndex fir
我有一种方法用于在用户单击“保存”时保存图像。我使用 PerformSelectorInBackground 保存图像,弹出 View Controller 并显示上一个 View Controlle
我一直在许多应用程序中使用 -performSelectorInBackground,有点忘记了 -detachNewThreadSelector。现在我想知道两者之间有什么区别。它们是否几乎可以互换
performSelectorInBackground:中有performSelector: afterDelay:和NSObject方法。如何将它们合并为一行代码? 也许以某种方式与NSTimer在
我正在尝试使用performselectorinbackground,但它没有运行。有人告诉我,应用程序设置中有一项检查允许 ios 中的后台任务,但我找不到该检查。因此,请告诉我如何通过将检查添加到
我正在尝试通过在后台运行的功能更改我的 MPMoviePlayerController 方法的内容。但是我的内容没有更改。 [self performSelectorInBackground:@sel
我在 iOS 中使用 MapKit 和注释。在添加注释之前(这可能需要一段时间),我想显示一个小的“正在加载...”UIView。如果我在没有线程的情况下执行此操作,则加载 View 会滞后很多,以至
我有一个 UITableView,当项目被选中时,它加载一个 viewController,在它内部使用 performSelectorInBackground 在后台执行一些操作。 如果您慢慢点击
我是一名优秀的程序员,十分优秀!