Difference between Non-Escaping and Escaping Closures in Swift