How to Correctly handle Weak Self in Swift Blocks with Arguments How to Correctly handle Weak Self in Swift Blocks with Arguments ios ios