Junior — Middle
What steps should be taken to use the @escaping attribute with a closure in a function definition?
sobes.tech AI
Answer from AI
In Swift, the @escaping attribute is used for closures that are stored and called after the function they are passed to has finished. To use @escaping, you need to:
- Specify
@escapingbefore the closure parameter in the function declaration. - This means the closure can be called later, for example, asynchronously.
Example:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Perform an asynchronous task
completion() // call the closure later
}
}
Without @escaping, the compiler will not allow storing the closure for calling after the function exits.