https://VNProgrammer.com/swift/closures/
Understanding Closures in Swift