Ios 将dispatchGroup与DEFER分开会导致崩溃

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 第二点是

我有一个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


第二点是:dispatchGroup enter应该等于LEVES,否则您的应用程序将崩溃

write complete function Please,因为您没有显示所有代码?你没有告诉我你的等待在哪里,我猜是在你回来之前?谢谢你的回答。我发现一个问题:有一个额外的。导致崩溃的假期:
let dispatchGroup = DispatchGroup()
dispatchGroup.enter()
Task.do { result in
    //...
    dispatchGroup.leave()
}