|
|
|
You Will Learn How To
- Create, compile and run Objective-C programs using Xcode
- Build applications by applying Objective-C language constructs, syntax and semantics
- Implement object-oriented designs using encapsulation, inheritance and polymorphism
- Leverage the Foundation Framework class libraries
- Develop graphical user interfaces (GUIs) for Mac OS X using the Cocoa framework
- Program a simple iPhone/iPad application using the Cocoa Touch framework
Course BenefitsObjective-C is critical to Mac, iPhone and iPad application development. In order to create increasingly powerful and sophisticated software, programmers need to delve into the framework and architecture of Objective-C. Throughout this course, you learn the fundamental programming concepts of Objective-C and the Foundation Framework used to develop code for the Mac OS X and iOS platforms.
Who Should AttendProgrammers, application developers and anyone interested in writing applications for Apple platforms. Programming experience with a modern language such as Java, C, C++, C# or Visual Basic is required. Object-oriented programming experience is recommended.
Hands-On TrainingThroughout this course, you perform a series of exercises to gain experience programming with Objective-C. Exercises include:
- Writing and compiling Objective-C programs using Xcode
- Managing objects with Foundation Framework collection classes
- Extending classes with inheritance
- Enhancing classes with categories when inheritance is inappropriate
- Writing loosely coupled applications with protocols
- Building GUI apps for the Mac with the Cocoa framework
- Creating a simple app for iPhones and iPads with the Cocoa Touch framework
Course 2755 ContentIntroduction to the Objective-C Language
Language and tools
- Evolution of Objective-C
- Xcode development environment
Objective-C fundamentals
- Syntax and semantics
- Pointers, structs, functions
- Decisions, loops and logic
Developing Classes in Objective-C
Defining classes
- Declaring the class interface with @interface
- Programming the class using @implementation
- Encapsulating attributes with methods and properties
Creating and using classes
- Importing the interface
- Writing constructors
- Instantiating the classes and invoking methods
Reusing Classes Through Aggregation
Building groups of complex classes
- Defining relationships between classes
- Incorporating the Has-A relationship in class design
Employing Foundation Framework classes
- Simplifying application development with class libraries
- Working with collection classes including NSArray, NSDictionary, NSSet
- Iterating collections with enumerators
Structuring Object-Oriented Class Hierarchies
Exposing interfaces with protocols
- Defining optional and required contracts
- Designing to an interface rather than an implementation to achieve loosely coupled systems
- Working with the id type
Inheritance and polymorphism
- Identifying the Is-A relationship
- Deriving new classes from base classes
- Defining constructors in subclasses
- Leveraging dynamic binding through polymorphism
Categories and extensions
- Creating categories to extend classes without inheritance
- Redeclaring access rights with extensions
Building GUIs
Exploiting the Cocoa framework
- Designing Mac GUIs using Interface Builder
- Communicating between objects with targets and actions
- Implementing the delegate pattern with @selector
Leveraging Cocoa patterns
- Developing an application with MVC
- Synchronizing controls with bindings
- Registering bindings to observe changing data
- Responding to mouse and keyboard events
- Enhancing user interfaces with views and controls
Creating apps with Cocoa Touch
- Designing GUIs for the iPhone and iPad
- Exploring touch events
- Choosing appropriate controls for the limited screen space of mobile devices
Interacting with the Operating System
Comparing alternative memorymanagement techniques
- Manual reference counting(MRC)
- Garbage collection
- Automatic reference counting (ARC)
Accessing the file system
- Storing and retrieving data with NSFileManager
- Obtaining directory and file information
- Creating and deleting files
Enhancing applications with threads
- Creating and managing threads
- Improving responsiveness of the user experience with multi-threading
- Synchronizing threads with mutexes
Packaging Code for Reuse with Libraries and Frameworks
- Comparing dynamic and static libraries
- Wrapping code for public or private reuse
- Developing shared code
|
<< Back to Mobile App Development Course List
iPad and iPhone are trademarks of Apple Inc., registered in the U.S. and other countries.
Learning Tree AnyWareTM is a trademark of Learning Tree International, Inc. in the United States and other countries, and is covered by a patent application pending in the United States.
|
|
|
Training Dates
 | Most events below can be taken in-class or live, online from your home or office with AnyWare. |
| Sep 11 - 14 | Ottawa enrol | | Sep 25 - 28 | Toronto enrol | | Jan 8 - 11 | Ottawa enrol | | Jan 8 - 11 | Toronto enrol | US Dates | | Jul 10 - 13 | New York enrol | | Jul 24 - 27 | Alexandria, VA enrol | | Oct 2 - 5 | New York enrol | | Jan 29 - Feb 1 | New York enrol |
For AnyWare enrolments, please register at least 7 days prior to the start of the course.
More Dates and Locations.
|
|
Bring this or any Learning Tree Course on-site to your location!
|
|
|
|