Junior — Middle
Қадамҳои кадомро бояд иҷро кард, то ки ба истифодаи хосияти @escaping бо бастаро дар таърифи функсия?
sobes.tech AI
Ҷавоб аз AI
در Swift، ویژگی @escaping برای بستههای (closures) استفاده میشود که پس از پایان تابعی که در آن قرار دارند، ذخیره و فراخوانی میشوند. برای استفاده از @escaping، باید:
- در اعلام تابع، قبل از پارامتر بسته،
@escapingرا مشخص کنید. - این بدان معنا است که بسته میتواند بعداً، مثلاً به صورت ناهمزمان، فراخوانی شود.
مثال:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// انجام یک وظیفه ناهمزمان
completion() // فراخوانی بسته در آینده
}
}
بدون @escaping، کامپایلر اجازه نمیدهد که بسته برای فراخوانی پس از خروج از تابع ذخیره شود.