Khi tôi tạo ra một chức năng, tôi có thể làm cho một tham số tùy chọn bằng cách cho nó một giá trị mặc định, như thế này:Function với khối hoàn thành tùy chọn trong Swift
func foo(bar: String = "foobar") {}
Tôi muốn làm như vậy (làm cho nó không bắt buộc) với một khối hoàn thành. Tôi đã thử các cách sau:
func foo(completionBlock: (foo: String) ->() =() ->())
func foo(completionBlock: (foo: String) ->() = (foo: String) ->())
func foo(completionBlock: (foo: String) ->() = ((foo: String) ->()))
func foo(completionBlock: (foo: String) ->() = ((foo: String) in))
func foo(completionBlock: (foo: String) ->() = {(foo: String) in})
Tôi làm cách nào để thực hiện việc này?
EDIT:
Đây là/là một câu hỏi trùng lặp, xin lỗi vì điều đó. Tuy nhiên, tôi không thể tìm ra giải pháp trong câu hỏi ban đầu. Vì vậy, câu trả lời nathan là tốt nhất
Điều này không cần phải thực hiện @escaping cho completionBlock vì nó hoàn toàn không thoát khỏi Swift3.0? – Cyrus