I would think that this is a list of stuff that I would keep referring back to till I get a grip on the development. It also probably helps in carifying some of the terms used often by iOS developers.
- XCode creates an application object that sets the run loop (a run loop registers inputs sources and enables the delivery of input events to your app). Among other things.
- The call to UIApplicationMain creates an instance of the UIApplication class and an instance of the app delegate
- The call to UIApplicationMain also scans the app’s Info.plist file. The Info.plist file is a property list (that is, a structured list of key-value pairs) that contains information about the app such as its name and icon.
- The main job of the app delegate is to provide the window into which your app’s content is drawn. The app delegate can also perform some app configuration tasks before the app is displayed.
- In an iOS app, a window object provides a container for the app’s visible content, helps deliver events to app objects, and helps the app respond to changes in the device’s orientation. The window itself is invisible.
- The first responder is a dynamic placeholder that represents the object that should be the first to receive various events while the app is running. These events include editing-focus events (such as tapping a text field to bring up the keyboard), motion events (such as shaking the device), and action messages (such as the message a button sends when the user taps it), among others.
- A view controller is responsible for managing one scene, which represents one area of content. The content that you see in this area is defined in the view controller’s view.
- Xcode provides a library of objects that you can add to a storyboard file. Some of these are user interface elements that belong in a view, such as buttons and text fields; others are higher level objects, such as view controllers and gesture recognizers.
- “Target-Action” mechanism is what ties an action on a UI element to the target that can act upon it. This is a Cocoa Touch Design pattern
- Typically view-controller is the target
- A message (action) sent from the UI to the View controller modifies the object data (model) and then the View Controller updates the text displayed in the UI to reflect the change in the model.
- An outlet describes a connection between two objects. When you want an object (such as the view controller) to communicate with an object that it contains (such as the text field), you designate the contained object as an outlet. When the app runs, the outlet you create in Xcode is restored, which allows the objects to communicate with each other at runtime.
- The viewDidUnload method is supplied by the Xcode template you chose, and it’s implemented for you by the UIKit framework. A view controller calls viewDidUnload when it needs to unload the views that it contains, which makes this method the right place to set the view’s outlets to nil.
- A delegate is an object that acts on the behalf of another object
- A class extension allows you to declare a method that is private to the class
- Garbage Collection: The @autoreleasepool statement supports the Automatic Reference Counting (ARC) system. ARC provides automatic object-lifetime management for your app, ensuring that objects remain in existence for as long as they're needed and no longer.