Swift is a new langauge and still being developed. It is unfair to fully compare develping in swift to developing in Objective-C as the language was very well developed before my experience with it. Still, learning and programming in Swift, as a developing language, has some real challenges. The most challenging of which is that Swift versions can change the validity of previous only examples.

I’m really working on learning Swift and trying to master the langauge and libraries around it. I’ve been trying to touch new features instead of just staying in the lane of the features I already know. While things like unwrapping Optionals takes a little bit of getting used to, it’s not that bad. The biggest challenge I’ve had is learning the differences in the langauge version.

Here’s what I’m talking about. I will have a problem and look for a solution on the internet. I will be looking for something like how to use a custom table view cell and I will find a Stack Overflow article on how to do it. I will attempt to impliment it, only to find that won’t work. This is curious, because it is the accepted answer, and clearly it was working for the poeple at the time they submitted the answer. Looking at the date, it is actually a couple of years old. Going back to my serach results, I will parse through a bunch of other answers until I find one that works. After a little bit of cross comparing, it is clear that Swift and Apple have changed the correct way to do something in a newer version of Swift.

My personal lesson is to make sure I’m looking for stuff written in Swift 5. In the future, as Swift stablizes this issue should be less of a problem, it’s just now as the langauge is being developed.