gpt4 book ai didi

ios:WAITING方法完成执行后再继续

转载 作者:可可西里 更新时间:2023-11-01 06:20:46 25 4
gpt4 key购买 nike

我是 IOS 开发的新手,目前正面临一个问题。

当调用方法 A 时,它会调用方法 B,然后等待委托(delegate) connectionDidFinishconnectionDidFinish 将执行 MethodC。

我的问题是如何确保methodA到methodC在执行NSLog之前执行完毕?

我发现解决这个问题的方法是使用通知中心。 methodC 执行完后给我发通知。我认为这不是一个好的解决方案。还有其他方法吗?

例子:

 [a methodA];
NSLog(@"FINISH");

最佳答案

如果这些方法中的任何一个异步执行操作,您就不能。你必须研究一种不同的方法来做到这一点。我个人尽可能地尝试使用完成 block ,尽管使用其他方式(如委托(delegate)方法)也完全没问题。这是一个使用完成 block 的基本示例。

- (void)someMethod
{
[self methodAWithCompletion:^(BOOL success) {
// check if thing worked.
}];
}

- (void)methodAWithCompletion:(void (^) (BOOL success))completion
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, kNilOptions), ^{

// go do something asynchronous...

dispatch_async(dispatch_get_main_queue(), ^{

completion(ifThingWorked)

});
});
}

关于ios:WAITING方法完成执行后再继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20779027/

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