Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Platform Overview Objective-C Basics TableView Based Applications Utility Applications Tab Bar Applications Modal View Controllers Master-Detail Applications Embedding a Web Browser Parsing JSON Where to go from here ? Resources
Apple does not license iOS for installation on non-Apple hardware. • More than 700,000 iOS applications which have collectively been downloaded more than 30 billion times.
Apple does not license iOS for installation on non-Apple hardware. • More than 700,000 iOS applications which have collectively been downloaded more than 30 billion times. • Accounts for more than 65% of mobile web data consumption.
reverse pinch. • Derived from OS X, with which it shares the Darwin foundation. • Current Major Version : iOS6 • Earlier called : iPhone OS. Rebranded as iOS in June 2010.
version of Xcode (Free). XCode includes the iOS SDK. • Enroll as an Apple Developer in the iOS Developer Program. ( You do not need to enroll in the program to write apps and test them in iOS Simulator. You do need to enroll, however, to test apps on devices and to distribute apps.)
all iOS apps. • Objective-C is a simple language with syntax and conventions that are easy to learn. • Objective-C is a thin layer on top of C, and moreover is a strict superset of C.
your app can call. • An app consists of code that you write and frameworks provided by Apple. • The system frameworks are the only way to access the underlying hardware.
other frameworks, are built on the Foundation framework infrastructure. • Provides many primitive object classes and data types • Establishes conventions (for tasks such as deallocation) that make your code more consistent and reusable
and dictionaries • Access images and other resources stored in your app • Create and manage strings • Post and observe notifications • Create date and time objects • Automatically discover devices on IP networks • Manipulate URL streams • Execute code asynchronously
• Use UIKit to : • Construct and manage your user interface • Handle touch- and motion-based events • Present text and web content • Optimize your app for multitasking • Create custom user interface elements
allow encapsulation of data and methods that act on that data. • Objects are specific instances of a class, and they contain their own instance data and pointers to the methods implemented by the class. • Classes are specified in two pieces: the interface (.h) file and the implementation (.m) file.
and weakly typed declarations. • The id class is a generic C type that Objective-C uses to represent an arbitrary object; • All objects therefore are of type id.
and weakly typed declarations. • The id class is a generic C type that Objective-C uses to represent an arbitrary object; • All objects therefore are of type id. • But, you should always use a pointer type when instance variables are themselves objects
to avoid the declaration and implementation of accessor methods for member variables. • IBOutlet denotes that this property is an Interface Builder outlet.
to avoid the declaration and implementation of accessor methods for member variables. • IBOutlet denotes that this property is an Interface Builder outlet. • assign, retain, copy, weak, and strong custom attributes are available.
• If you want to call a method exposed by an object, you do so by sending that object a message. • The message consists of the method signature, along with the parameter in- formation.
is functionally equivalent to the NULL pointer found in many other C-derived languages. • It is permissible to call methods on nil without causing your application to crash.
is functionally equivalent to the NULL pointer found in many other C-derived languages. • It is permissible to call methods on nil without causing your application to crash. • If you call a method on the nil object type, you will get nil returned.
the option of enabling garbage collection; •However, on the iPhone and iPad, you are restricted to using reference counting. •Automatic Reference Counting (ARC) helps. Please use it.
Pool helps in transferring control of the object life cycle from one owning object to another without immediately deallocating the object. •Defers sending an explicit release message to an object until “later”.
release -1 release -1 • You should not release objects you do not own. • You should always make sure your calls to retain are balanced by your calls to release.
release -1 release -1 • You should not release objects you do not own. • You should always make sure your calls to retain are balanced by your calls to release. • When releasing the object, you have the option of sending it either a release message or an autorelease message.
release -1 release -1 • Sending a release message will immediately free the memory the object uses if that release takes the object’s retain count to zero
release -1 release -1 • Sending a release message will immediately free the memory the object uses if that release takes the object’s retain count to zero • Sending an autorelease message adds the object to the local autorelease pool.
(ARC) is a compiler-level feature that simplifies the process of managing the lifetimes of Objective-C objects. •Instead of you having to remember when to use retain, release, and autorelease, ARC evaluates the requirements of your objects and automatically inserts the appropriate method calls for you at compile time.
(ARC) is a compiler-level feature that simplifies the process of managing the lifetimes of Objective-C objects. •Instead of you having to remember when to use retain, release, and autorelease, ARC evaluates the requirements of your objects and automatically inserts the appropriate method calls for you at compile time. •The compiler also generates appropriate dealloc methods for you.
(ARC) is a compiler-‐level feature that simplifies the process of managing the lifetimes of Objective-‐C objects. Instead of you having to remember when to retain or release an object, ARC evaluates the lifetime requirements of your objects and automatically inserts the appropriate method calls at compile time.
code will be transformed during a pre-compilation step into: NSObject(*anObject(=([[NSObject(alloc](init]; //(...(code(which(calls(methods(on(the(object [anObject(release];
content, and contains three subviews: textLabel, detailTextLabel, and imageView. UITableViewCell has properties for these views so you can set them directly.
content, and contains three subviews: textLabel, detailTextLabel, and imageView. UITableViewCell has properties for these views so you can set them directly. UITableViewCellAccessoryDisclosureIndicator UITableViewCellAccessoryDetailDisclosureButton UITableViewCellAccessoryCheckmark
of different views on the same data set, or separately present a number of different tasks relating to your application, Apple recommends using a tab bar application.
of different views on the same data set, or separately present a number of different tasks relating to your application, Apple recommends using a tab bar application. You can use system-supplied icons or custom icons.
interface patterns. Clicking on a cell in the table view makes the current view slide to the left and a new view is displayed. You return to the original view by clicking on the Back button.
interface patterns. Clicking on a cell in the table view makes the current view slide to the left and a new view is displayed. You return to the original view by clicking on the Back button.
interface patterns. Clicking on a cell in the table view makes the current view slide to the left and a new view is displayed. You return to the original view by clicking on the Back button.
of the screen and is usually dismissed with a button at the top of the screen. When dismissed, it slides back down the screen, disappearing at the bottom.
of the screen and is usually dismissed with a button at the top of the screen. When dismissed, it slides back down the screen, disappearing at the bottom.
of the screen and is usually dismissed with a button at the top of the screen. When dismissed, it slides back down the screen, disappearing at the bottom.
where you might want to load a URL and display a web page, but keep users inside your application rather than closing it and opening Safari. If this is what you need to do, you should be using a UIWebView.
where you might want to load a URL and display a web page, but keep users inside your application rather than closing it and opening Safari. If this is what you need to do, you should be using a UIWebView. Works with local files too.
• It is easy for humans to read and write. • It is easy for machines to parse and generate. JSON is built on two structures: • A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
• It is easy for humans to read and write. • It is easy for machines to parse and generate. JSON is built on two structures: • A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. • An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.
was no native support for parsing JSON. • From iOS 5, NSJSONSerialization class can be used to parse valid JSON documents. NSError(*error(=(nil; id(object(=(nil; NSData(*json(=([NSData(dataWithContentsOfFile:path]; object(=([NSJSONSerialization(JSONObjectWithData:json( options:0(error:&error]; if((error()({ ((((//code(to(handle(error(conditions(... }
Applications Social Applications Travel Applications Medical Applications Hardware Integration and more options to explore... Location Based Applications