Key Concepts: Custom Classes/Properties

You should create Custom Classes when you have several properties that relate to the same conceptual entity. Eg. a dragon has a name, and a color, rather than have two properties in your viewController that are dragonName and dragonColor you should make a new custom class for the Dragon with two properties and have a single dragon property in your viewController.

Properties of your custom classes must be in the header. Otherwise you cannot access them from your viewController classes.

Custom classes almost always derive NSObject. (Notably your custom ViewController classes derive UIViewController.)

Don't forget to #import the header of your custom class wherever you need to use it.

You instantiate instances of your custom class with alloc, init. Eg. if you class is called Dragon) you would do: [[Dragon alloc] init]

Once you have instances of your custom class it makes it easy to pass all the data associated with your object to the next viewController via prepareForSegue.

Xcode Tips
CMD + -> to zip to the end of the current line
CMD + <- to zip to the beginning of the current line