ios - 从 block 返回导航

标签 ios multithreading uinavigationcontroller

我有一个我认为是 UX 的东西在后台线程上发生的操作。在使用 block 的方法中,我调用成功:

[self.navigationController popViewControllerAnimated:TRUE]; 

我遇到了崩溃,所以我认为检查当前线程并调用 performSelectorOnMainThread 可能会解决这个问题,但我不确定如何设置调用的 @selector 部分。

[self performSelectorOnMainThread:@selector([self.navigationController popViewControllerAnimated:TRUE]) withObject:nil waitUntilDone:NO];

不工作。什么是正确的语法?

最佳答案

要强制该方法在主线程上执行,您可以使用:

dispatch_async(dispatch_get_main_queue(), ^{
    [self.navigationController popViewControllerAnimated:TRUE]; 
});

关于ios - 从 block 返回导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20818956/

相关文章:

swift - Swift脚本中的崩溃是否是由竞争条件引起的?

perl - 在 Perl 中执行多线程时应该查看哪些模块?

ios - 无法更改状态栏样式

ios - 此项目中未启用 FaSTLane Apple 通用版本控制

ios - 如何加载具有透明背景颜色的 UIViewController?

c++ - 长时间运行的 std::async 会饿死其他 std::async 吗?

iphone - 如何将多个自定义 View Controller 与导航 Controller 一起使用?

iphone - 在包含 UICollectionView 和 UIImageView 的主视图中垂直滚动

ios - NSUbiquitousKeyValueStore 同步问题

ios - 让我知道这段代码的功能