Sobes.tech
Junior — Middle

Қадамҳои кадомро бояд иҷро кард, то ки ба истифодаи хосияти @escaping бо бастаро дар таърифи функсия?

sobes.tech AI

Ҷавоб аз AI

در Swift، ویژگی @escaping برای بسته‌های (closures) استفاده می‌شود که پس از پایان تابعی که در آن قرار دارند، ذخیره و فراخوانی می‌شوند. برای استفاده از @escaping، باید:

  1. در اعلام تابع، قبل از پارامتر بسته، @escaping را مشخص کنید.
  2. این بدان معنا است که بسته می‌تواند بعداً، مثلاً به صورت ناهمزمان، فراخوانی شود.

مثال:

func fetchData(completion: @escaping () -> Void) {
    DispatchQueue.global().async {
        // انجام یک وظیفه ناهمزمان
        completion() // فراخوانی بسته در آینده
    }
}

بدون @escaping، کامپایلر اجازه نمی‌دهد که بسته برای فراخوانی پس از خروج از تابع ذخیره شود.