|
|
|
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 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-Orientated 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
- Synchronising 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 memory management 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
- Synchronising 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
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.
|
|
Course Dates
 | Most events below can be taken in-class or live, online from your home or office with AnyWare. |
UK Dates | | 18 - 21 Sep | London enrol | | 8 - 11 Jan | London enrol | | 9 - 12 Apr | London enrol | US East Coast Dates | | 10 - 13 Jul | New York enrol* |
*Work and train on the same day! Attend live US East Coast Courses online from 2pm to 9pm GMT. For AnyWare enrolments, please register at least 7 days prior to the start of the course.
More Dates and Locations.
|
Tuition for Course 2755 (4 Days)
|
|
Bring this or any Learning Tree Course on-site to your location!
|
|
|