Swift 获取异步闭包中的值作为返回值

1,435 阅读1分钟
func getValue() -> Int {
    var i = 0
    let semaphore = DispatchSemaphore(value: 1)
    
    // 模拟异步操作
    UIView.animate(withDuration: 3.0) {
        i = 100
        semaphore.signal()
    }
    semaphore.wait()
    
    return i
}

参考: blog.csdn.net/saw471/arti…