objective-c - 执行选择器 :withObject:afterDelay not working inside viewDidLoad method

标签 objective-c ios xcode ios5 viewdidload

我有一个标签栏应用程序,问题是我需要在第一个 View 的 viewDidLoad 延迟后调用一个方法,但它不起作用(该方法未被调用) 我添加了以下示例

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self performSelector:@selector(foo) withObject:nil afterDelay:1];

}

-(void)foo
{
    NSLog(@"foo!");
}

奇怪的是,这适用于所有其他选项卡 View ,但由于某种原因,它不适用于第一个选项卡(UITableViewController) 有什么想法吗??

谢谢

最佳答案

试试这个....

- (void)viewDidLoad
{
    [super viewDidLoad];
    dispatch_async(dispatch_get_main_queue(), ^{
            [self performSelector:@selector(foo) withObject:nil afterDelay:0.5];
        });

}

关于objective-c - 执行选择器 :withObject:afterDelay not working inside viewDidLoad method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10032155/

相关文章:

ios - *** -[UITableView _endCellAnimationsWithContext :] when selecting the back button 中的断言失败

ios - UIPageViewController 滑动延迟

ios - Swift HealthKit 更新生日

iphone - 在iPad上创建有关用户事件的日志的最佳方法

objective-c - 如何制作这些角标(Badge)?

ios - Storyboard中的空白原型(prototype)单元格

ios - 查找移植到 ios 的 ionic 应用程序的 xcode 项目名称以启动多个模拟器

ios - TableView :dequeueReusableCellWithIdentifier issues with "global" constant

ios - 无法在 IOS 上使用 firebase 运行 flutter 应用程序

ios - MkMapView 缩放级别