Jan 2 2017
By mere chance I’ve come across the following list of Objective C tutorials on YouTube. (The author also has a couple of introductory Swift tutorials and seems to be continuing his tutorials in Swift, though they have not been updated recently, as far as I can see. He has, as far as I can see, no affiliation with Apple.)
I have now followed at least a dozen of these – and they appear to be extremely clear: they show you how to do a single thing in a manner that you can build on, thus avoiding four of the common failure modes of tutorials:
– the ‘myLittleApplet’ tutorial: drag an NSTextView into a window, press run: hey look, you can style the text in all manners know to humankind. Yes. But you don’t learn how to use a text view in your application from it, just what it can theoretically do, and the next layer is much more complex, and you get no help with that.
– the ‘ooh, shiny’ tutorial, in which the author shows you fifteen clever hacks they worked out over several months. Which are not helpful if you don’t understand three quarters of what they do, let alone how one would come up with them and why they are used. Even when the basic methods don’t work *too* well, it’s good to learn them.
– the ‘item 16.B.3’ tutorial, in which you need to have sat through every previous tutorial *and* remember everything you were introduced to in them. Which almost nobody manages.
– the ‘type in alphabetical order’ tutorial, in which you start at one end of an application and retype or copy the code for every class and method without having the faintest idea of what they are doing or how one would have created them.
Will you learn to program from these alone? Probably not. Programming needs more than just API knowledge, but unless the rest of the tutorials are vastly different from the ones I’ve seen, these will give you a solid foundation and not only provide answers to many ‘how do I do x’ questions, but give you a head start on ‘how things work’.
The older tutorials are in ObjectiveC, which may be difficult to translate if you’ve never learnt that language (though you could see it as good practice; if you’re working, you’ll likely encounter a legacy codebase sooner or later, and reading – as opposed to writing – ObjectiveC is not that difficult, particularly as you’re being told what to do.
But the age of the older tutorials shows in more than just the language: modern ObjectiveC uses ARC rather than manually memory management, for instance, and in many cases – as with NSCollectionView – updates to the API are making the tutorials obsolete. As time goes on, I expect them to become less relevant, but for the moment, they are still one of my first ports of call if I find a framework or a particular interface element confusing.