https://medium.com/@kalidoss.shanmugam/common-mistakes-in-swift-ios-programming-and-how-to-avoid-them-0a0f13009b3d