Ios 将dispatchGroup与DEFER分开会导致崩溃
我有一个rest Api异步方法,因此请使用dispatch group:Ios 将dispatchGroup与DEFER分开会导致崩溃,ios,swift,grand-central-dispatch,Ios,Swift,Grand Central Dispatch,我有一个rest Api异步方法,因此请使用dispatch group: let dispatchGroup = DispatchGroup() dispatchGroup.enter() Task.do { result in defer { dispatchGroup.leave() } //... } 这将使崩溃线程1:EXC_BAD_指令代码=EXC_I386_INVOP,子代码=0x0 但是 不要撞车。为什么?第1点是:当函数的作用域结束时,会调用defer 第二点是
let dispatchGroup = DispatchGroup()
dispatchGroup.enter()
Task.do { result in
defer { dispatchGroup.leave() }
//...
}
这将使崩溃线程1:EXC_BAD_指令代码=EXC_I386_INVOP,子代码=0x0
但是
不要撞车。为什么?第1点是:当函数的作用域结束时,会调用defer
第二点是:dispatchGroup enter应该等于LEVES,否则您的应用程序将崩溃write complete function Please,因为您没有显示所有代码?你没有告诉我你的等待在哪里,我猜是在你回来之前?谢谢你的回答。我发现一个问题:有一个额外的。导致崩溃的假期:
let dispatchGroup = DispatchGroup()
dispatchGroup.enter()
Task.do { result in
//...
dispatchGroup.leave()
}