Video description
In the Fundamentals section Jiva Devoe helps the viewer understand the key concepts and fundamentals of the Objective-C language. This video covers basic objective-c syntax, objects, memory management, protocols, the foundation framework and errors. The newest features in Objective-C such as ARC, blocks, and properties are included. After watching this video, viewers should be able to build and run basic Objective-c programs.
In the Advanced section viewers will learn how to use blocks, use categories to extend the capabilities of existing classes, use keyvalue coding and keyvalue observing, use threading to harness the power of multiprocessor and multicore machines, understand design patterns e commonly used in Objective-C, and how to serialize and deserialize objects to property lists and to JSON strings. Finally, the video covers best practices for programming clean code in Objective-C. When viewers have completed these lessons, they will have an understanding of the necessary aspects of Objective-C that are needed to begin writing applications using cocoa and cocoa touch.
About the Author:
Jiva DeVoe is the founder of Random Ideas, LLC, a software company specializing in iPhone and Mac OS X applications. He’s an author, blogger and software developer with nearly 20 years of experience in the software industry. Today, Jiva works primarily with Objective-C, Cocoa and Cocoa Touch, developing applications for the iPhone and Mac OS X. Jiva has written several award winning apps and is the author of Objective-C Developer Reference and Cocoa Touch for iPhone OS 3 Developer Reference. Contact Jiva through his blog at www.random-ideas.net
Table of Contents
Introduction to Objective-C Programming Fundamentals LiveLessons
Introduction to Objective-C Programming Fundamentals LiveLessons
Lesson 1 (Fundamentals): Basic Objective-C Syntax
Learning objectives
1.1 Write an Objective-C program
1.2.a Understand the basic Objective-C types
1.2.b Understand the basic Objective-C types
1.3 Declare and use functions
1.4 Control program flow
1.5 Use the preprocessor
Lesson 2 (Fundamentals): Objects in Objective-C
Learning objectives
2.1 Understand classes and objects in Objective-C
2.2 Create Objects
2.3 Declare classes
Lesson 3 (Fundamentals): Objective-C Memory Management
Learning objectives
3.1 Do traditional Objective-C manual memory management
3.2 Use autorelease pools
3.3 Use Automatic Reference Counting
Lesson 4 (Fundamentals): Protocols
Learning objectives
4.1 Understand the Protocol design pattern
4.2 Use Protocols with your classes
4.3 Implement your own protocols
4.4 Understand informal protocols
Lesson 5 (Fundamentals): The Foundation Framework
Learning objectives
5.1 Use strings
5.2 Work with NSArray
5.3 Use NSDictionary
5.4 Work with other collections
5.5 Box Scalar Values
5.6 Use Other Frameworks In Your Projects
Lesson 6 (Fundamentals): Errors
Learning objectives
6.1 Understand error classification
6.2 Use return codes
6.3 Understand when and how to use exceptions
6.4 Use NSError
Introduction to Objective-C Advanced Programming LiveLessons
Introduction to Objective-C Advanced Programming LiveLessons
Lesson 1 (Advanced): Blocks
Learning objectives
1.1 Understand blocks
1.2 Declare blocks
1.3 Use blocks
1.4 Understand block scope
1.5 Avoid problems with blocks
1.6 Know when to use blocks
Lesson 2 (Advanced): Extending Existing Class Capabilities
Learning objectives
2.1 Declare categories
2.2 Implement category methods
2.3 Understand category design patterns
2.4 Implement protocols with categories
2.5 Use anonymous categories
2.6 Avoid category gotchas
Lesson 3 (Advanced): Key Value Coding and Key Value Observing
Learning objectives
3.1 Declare KVC compliant properties
3.2 Access properties using key value coding
3.3 Observe changes on objects using key value observing
3.4 Implement manual KVO notifications
3.5 Avoid KVO gotchas
Lesson 4 (Advanced): Threads
Learning objectives
4.1 Understand threads
4.2 Understand Grand Central Dispatch
4.3 Use the low level GCD interface
4.4 Use NSOperation and NSOperationQueue
4.5 Synchronize threads
4.6 Understand atomic accessors
Lesson 5 (Advanced): Objective-C Design Patterns
Learning objectives
5.1 Understand design patterns
5.2 Understand design patterns in Objective-C
5.3 Create singletons
5.4 Delegate responsibility
5.5 Notify objects of changes
Lesson 6 (Advanced): Data Serialization
Learning objectives
6.1 Use NSCoder
6.2 Use property lists
6.3 Use JSON serialization
Lesson 7 (Advanced): Objective-C Best Practices
Learning objectives
7.1 Understand Modern Objective-C
7.2 Practice appropriate data encapsulation
7.3 Use properties appropriately
7.4 Use dot notation appropriately
7.5 Prevent non-ARC code from using your ARC code
Summary of Objective-C Fundamentals and Advanced Programming LiveLessons
Summary of Objective-C Fundamentals and Advanced Programming LiveLessons