iOS apps are built according to a widespread programming pattern: the model-view-controller pattern (or MVC). The MVC is a high-level pattern used to describe the global architecture of an application and to classify objects according to the general roles they play. In MVC objects tend to be more reusable and programs are more easy to change.
I read online some remarks of people claiming that the introduction of the new Swift programming language is going to remove all the barriers to entry for iOS development. Some even think that Swift is going to put every developer back at square one. I understand the excitement around a new language after 20 years of Objective-C. Although these claims might have some merits in the long term, they are at the moment not only inaccurate but completely opposite of reality.
We developers often make the mistake to dive into coding too soon, because this is what comes natural to us. What we usually fail to realize is that coding is expensive. I made this mistake myself often in the past. When we code an app from scratch, where the main design decisions still need to be made, we soon find that many parts of the app need to be often rewritten during development. The reason is that, while coding, we will find that things do not quite work as we planned in our mind and there are cases we did not consider at all. All these would have been obvious if we approached the process in a different way.
After seeing how classes and objects work in Objective-C, this part will be completely dedicated to types in Objective-C. This feature comes straight from C, but it’s still extensively used in Objective-C programming, including Apple libraries. Since you will encounter this quite often, it’s worth to spend some time having a look at this feature.
Table of contents
After having seen in the first part of this guide the basic control structures that Objective-C inherits from C, in this second part we will have a look at how we use objects and collections in Objective-C.
Table of contents
When, as a developer, you come from another language to Objective-C, you usually want to map the general concepts about programming you already know to this new language that at first might seems obscure. I remember myself being confused by the Objective-C syntax when I started learning it. What at first look might not make sense actually does a lot when you get a grasp of it and in my opinion (and the opinion of many other developers) makes the code much more readable. What at first sight might seem complicated is just something a bit different from what you are used to, thus feeling unfamiliar.