Sự khác biệt giữa @escaping
và `@no...
Sự khác biệt giữa @escaping
và `@no...
Trong Swift, closures là các khối mã tự chứa có thể được truyền đi như là tham số trong các hàm, hoặc được sử dụng như là một loại dữ liệu. Có hai loại closures chính: @escaping
và @nonescaping
.
@nonescaping
Closures@nonescaping
closure là một closure được truyền như là tham số vào một hàm nhưng được gọi trong phạm vi của hàm đó. Nó không "thoát" ra khỏi hàm, tức là closure này sẽ được thực thi và hoàn thành trước khi hàm trả về kết quả.@nonescaping
mặc định nếu không được chỉ định khác.@nonescaping
giúp tối ưu hóa hiệu suất bởi vì trình biên dịch có thể tối ưu hóa quản lý bộ nhớ khi biết rằng closure sẽ không được sử dụng sau khi hàm kết thúc.@escaping
Closures@escaping
closure là một closure được truyền như là tham số vào một hàm nhưng có thể được gọi sau khi hàm đã trả về kết quả. Nó "thoát" ra khỏi phạm vi của hàm, có nghĩa là có thể được thực thi sau khi hàm kết thúc.@escaping
thường đ...expert
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào