gpt4 book ai didi

iOS依次执行方法

转载 作者:行者123 更新时间:2023-11-28 19:56:02 25 4
gpt4 key购买 nike

我知道已经有人问过这个类似的问题,但我的问题甚至是将 NSOperationQueue 与

一起使用
  NSOperationQueue *aQueue = [[NSOperationQueue alloc] init];
[aQueue setMaxConcurrentOperationCount:1];

那么即使是方法也不会按照 FIFO 的顺序执行。

方法 A(耗时 5 秒)-> 方法 B(耗时 2 秒)-> 方法 C(耗时 1 秒)。

如果我将它们放入 NSOperationQueue 即

 [aQueue addOperationWithBlock:^{


[self MethodA];

}];

[aQueue addOperationWithBlock:^{


[self MethodB];

}];


[aQueue addOperationWithBlock:^{

[self MethodC];

}];

方法C先执行然后A再B

我希望它们按照输入的顺序执行。方法A->方法B->方法c

最佳答案

一个选项确实会像 Fonix 所说的那样使用依赖关系:MethodA 依赖于 MethodB,而 MethodB 又依赖于 MethodC。

只需在 NSOperation 或方法 addDependency: 中使用 dependencies 属性(NSOperations 的数组)。

但是,既然您已经在使用 block ,为什么不使用 GCD:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self methodA];
[self methodB];
[self methodC];
});

关于iOS依次执行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26357279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com