
Provides step-by-step instructions for learning Cocoa, discussing such topics as Objective-C, controls, helper objects, archiving, Nib files and NSWindowController, and creating interface builder palettes.
Message passing, these loosely coupled 'delegates', a mixture of hardcore C, needing to do memory management but also just passing objects around in the runtime... messy, weird... but in the end the right solution to make flexible but performant software. I learned a lot from it. I should dive into the history of NeXT one day.
https://forums.bignerdranch.com/c/cocoa-programming-for-os-x...
They also have a Swift book, but I haven't personally read it. They also have an Advanced Mac OS X book, but it's also old and isn't on their website anymore.
My first big project was "Ocean Commotion"[1] and the motivation was that I didn't see many good multi touch games in the app store. It still disappoints me how most iOS games would be better suited to play with a mouse or keyboard when there is this amazing interface available. Did you know an iPad can handle 11 touch points at once, and an iPhone can handle 5?
My game started out as two orange rectangles that I could drag around on a blue background. Once you realize that views all get their own inputs then having 5 objects all respond to touch events at the same time is pretty straightforward.
For your first app I recommend starting with something simple. One recent game I made was "Jack Slap"[2]. It is a simple reaction time game, and would make a decent introduction into working with Xcode. Don't worry about the details up front. Just think of a concept or single feature you like and start doodling in code to get a feel for things.
My biggest challenge is probably my artistic ability. You can tell that I got an artist involved for Ocean Commotion, but not for anything else. Making an app look good is an important part of the process. Fortunately there are lots of artists out there who can't code to help you out!
[2]https://itunes.apple.com/us/app/jack-slap/id846622220?mt=8 (iTunes link)
For books, I found the following are very helpful:
1) Cocoa Programming for Mac OS X (by Aaron Hillegass) 2) Cocoa Design Patterns (by Erik M. Buck and Donald A. Yacktman)
