In the latest Swift doc it is mentioned that
Marking a closure with @escaping means you have to refer to self explicitly within the closure.
and in the following method on UIView
animate(withDuration duration: TimeInterval, animations: @escaping () -> Swift.Void, completion: ((Bool) -> Swift.Void)? = nil)
The @escaping is only for the first closure parameter, but still in the second closure I'm required to use self or else it gives the following error
setUpButton() is a method in my class
Why is this so? Do I have to use self in all the closures or just the ones marked with @escaping.