Ok, I have no idea what I'm doing wrong, but I think I've tracked it down to a bindings issue. My application is essentially an array, displayed in a tableview. I have a class called AppController, which contains an NSMutableArray of a custom class. In the Interface Builder, I put the tableview, plus add and delete buttons. I dragged an Array Controller object as well as an instance of AppController into the doc window. The Array Controller has it's content array binding(bound?) to the AppController object, and has the instance variables bound to the tableview. The Add and Delete buttons are linked to the add: and remove: objects of the Array Controller. Now onto the program. The program starts fine, and due to code that I entered into the init method of the AppController, it starts with 3 items in the array, all of which are displaying fine in the tableview. The problem is that whenever I click either the Add or Delete buttons, the program freezes, and the bottom of the XCode window says "EXC_BAD_ACCESS". Any ideas on what I'm doing wrong?