Teamtreehouse - iOS Foundations
Genre: eLearning | Author: Amit Bijlani | Language: English
Learn fundamentals such as: Core Data, Web View, Notifications and App Preferences using the latest version of Xcode and iOS. You will also learn some features that are new with iOS and fundamental to app development such as: Automatic Reference Counting (ARC), storyboards, and appearance.
Automatic Reference Counting
Automatic Reference Counting is an exciting new addition to iOS 5 that makes manual reference counting obsolete. It is a compiler level feature that removes all the hassle out of memory management and makes iOS development easier.
A storyboard is a visual representation of the user interface for an iOS application. A storyboard is composed of a sequence of scenes, each of which is represented by a view controller and its views. Scenes are connected by a segue, which represents the transition between two view controllers.
The UIWebView class uses the WebKit rendering engine to embed web content in an application. It can also display documents such as: PDF, Excel, Keynote, Numbers, etc. It supports browser navigation such as moving forward and back in the history stack and intercept browser events.
Core Data is not a database, it is a framework that helps in managing and persisting the object graph. It provides additional features such as schema migration, change tracking, relationship maintenance, validation, querying and more.
A notification is an iOS design pattern that broadcasts messages to observing objects. The centerpiece of the notification mechanism is a singleton object known as the notification center. When an object posts a notification, it goes to the notification center, which acts as a kind of clearing house and broadcast center for notifications. Objects that need to know about an event elsewhere in the application register with the notification center to let it know they want to be notified when that event happens.
iOS 5 has new capabilities to help customize the appearance of UIKit views and controls giving your application a unique look and feel. In addition, the appearance proxy helps you consolidate customization while providing a consistent look and feel.
Every app needs to provide the user with settings to customize its appearance or functionality. In iOS the easiest way to provide these preferences are via the settings app which involve knowing: property lists, user defaults and settings bundle. The user defaults and property lists are key-value stores designed for storing simple data types such as: strings, numbers, dates, Boolean values, data objects and more.
Blocks and Categories
A category is used to define additional methods of an existing class without subclassing. Blocks are simply a block of executable code that have access to local variables and can be stored or passed around.
Accessing a third-party Application Programming Interface or API involves making a request to a server to send or receive data. This data is usually in the format of an XML document. Parsing the XML document involves traversing through the document to extract information. iOS has two different parsing methodologies and several different classes that apply these methodologies.
The Core Location framework helps you determine the current location associated with a device. The framework uses the available hardware to determine the user’s position and heading. The classes and protocols in this framework provide periodic location and heading updates based on the required accuracy. In addition, reverse geocoding capability determines geographic information such as: street address, city, state, locality, zip code, etc.