on Cocoa programming.

Posted in Commentary, Geekfest on September 7th, 2008 by juan

IMG_9980

Still working through the decision process between ecto3 and marsedit.

I’m thinking I’m going to stay with ecto3 for now.

On the news side:

Started working my way through Cocoa Programming for Mac OS X by Aaron Hillegass. I’m about through the first 8 chapters. Things to know if you are going to be doing this:

  • This isn’t like working with Delphi, Visual Basic, Real Basic, or any of the other “object oriented” systems. This is much different.
  • You really should learn Objective-C first. Even though he says you should have a moderate knowledge of Objective-C, you really should spend time learning it well. The examples and “challenges” in this book assume a fair amount of knowledge. Some of the exercises and examples really don’t make that much sense until you spend time learning Objective-C.
  • It really helps if you have access to the Apple documentation. For example, in chapter 8, you go through some really cool stuff on bindings. For me it was completely magical until I went through the Apple “Cocoa Bindings Programming Topics”, “Key Value Coding Programming Guide”, and “Key Value Observing Programming Guide”. Once I worked through the basics of those documents, chapter 8 went from being a really mystical, chant invoking exercise, to more programming with some occasional leaps of faith.
  • Cocoa programming is based on some very extensive frameworks. If you are like me and you want to know how the frameworks work – don’t, yet. Just take some of the stuff as magic and assume that it works. Once I gave in to the “I’ll figure out how that works later” concept, this has started flowing better for me.

I’ll be posting more on this as I go through the exercises on this book. I’ve also started creating side challenges for myself to figure out how some of this stuff works. I’ll post those as well in case you need some additional views. Remember that I’m just learning this stuff so take this material as you would any other beginners: an example of how it possibly works correctly. To get you started, here’s a simple program that I wrote that uses a couple of controls, and a text field. The first one uses bindings to get it’s job done. The second one is the exact same, but uses an Object Controller to mediate the bindings. For me, until I saw both of these simple projects working, I couldn’t really “get” the different between just plain bindings and what an object controller bought for you. Check them out: myBindingsFun and myControllerFun.

Hope that helps someone

Tags: , ,