찾다

 >  Q&A  >  본문

objective-c - 闭包导致的时间问题怎么解决?

例如

func hello() -> Bool {
    var result = false
    httpRequestWithCompletionHandler({ is404 in
        result = is404
    })
    return result
}

这个函数的返回值永远是 false,因为 closure 是异步执行的
怎么在调用这个函数的时候,得到真正的返回值呢?
注: result 必须定义在函数体内,不能定义在函数体外

伊谢尔伦伊谢尔伦2761일 전703

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-24 09:12:38

    으아아아

    이렇게?

    회신하다
    0
  • 迷茫

    迷茫2017-04-24 09:12:38

    GO lang ? 비동기적으로 실행되는 함수는 콜백을 통해서만 값을 얻을 수 있으므로 hello에서 bool을 반환하여 결과를 직접 얻을 수 없습니다.

    회신하다
    0
  • 취소회신하다