我有两个视图控制器:ViewControllerA
& ViewControllerB
如果我在ViewControllerA
上创建了一个低优先级线程,那么之后会立即触发一个segue到ViewControllerB
该线程必须在segue开始之前完成吗?
这是我在我的应用中看到的行为类型,我只是想知道这是否可能是原因。
答案 0 :(得分:0)
低优先级线程不会
一旦线程开始一些工作 - 即使它的优先级低 - 它将完成它。它不会在任务中间暂停,即使对于更高优先级的工作也是如此。优先级系统仅控制接下来选择的任务 - 它不会根据优先级在半完成任务之间切换。
除此之外,iOS设备至少都有2个内核。即使segue在低优先级工作之前开始,低优先级工作也可能几乎同时在另一个核心上启动。
答案 1 :(得分:-1)
在
中创建低优先级线程- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
在视图控制器中。你在那里进行验证,如果没问题则返回YES;如果不是返回NO;并且prepareForSegue不是电话。