在objective-c中,睡眠发生在它之前的代码之前

Den*_*nis 0 objective-c

在这段代码中,似乎睡眠发生在隐藏按钮之前.这是为什么?

-(void)buttonPressed{
        NSLog(@"Button pressed!");
        button.hidden=true;
        sleep(rand()%10);
        NSLog(@"out of sleep!");
    }
Run Code Online (Sandbox Code Playgroud)

Lav*_*der 8

"隐藏"的设置立即发生,并触发SetNeedsDisplay运行循环.然后该方法休眠.然后在睡眠之后执行运行循环并更新显示.因此,睡眠会阻止显示在睡眠结束前更新.