Skip to content
aglee edited this page Sep 13, 2010 · 3 revisions

For a general overview, see AppKiDo-source-intro.txt in the project directory. It’s old but the basic picture has not changed. Note the “topic”, “subtopic”, and “doc” terminology — these terms should make a lot of the class names more obvious.

This article focuses on the back-end stuff. By the way, I’m afraid the database classes have retain cycles all over the place due to children retaining their parents. This has never been an issue, because the whole database lives in memory all the time. But I want to move to Core Data, which means some overhauling will have to be done.

The UI stuff is old-school: there are no bindings, and I rolled my own window controller and view controller classes, so don’t be confused by their class names. The window controller has a notion of subcontrollers, one for each pane of the window.

I’m very fussy about keeping the coding style (indentation, etc.) consistent. I used to be fussy about not letting lines of code grow beyond 80 characters, but these days I much prefer letting them grow to 100 and beyond.

Clone this wiki locally