In these LiveLessons, Jiva DeVoe covers the advanced features of the Objective-C language. 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.</span>
Table of Contents
Introduction
Introduction to Objective-C Advanced Programming LiveLessons
00:04:12
Lesson 1: Blocks
Learning Objectives
00:01:43
1.1 Understand blocks
00:05:35
1.2 Declare blocks
00:02:43
1.3 Use blocks
00:04:40
1.4 Understand block scope
00:05:57
1.5 Avoid problems with blocks
00:05:24
1.6 Know when to use blocks
00:01:49
Lesson 2: Extending Existing Class Capabilities
Learning objectives
00:01:51
2.1 Declare categories
00:05:17
2.2 Implement category methods
00:02:42
2.3 Understand category design patterns
00:05:11
2.4 Implement protocols with categories
00:04:09
2.5 Use anonymous categories
00:02:14
2.6 Avoid category gotchas
00:02:11
Lesson 3: Key Value Coding and Key Value Observing
Learning objectives
00:01:33
3.1 Declare KVC compliant properties
00:05:31
3.2 Access properties using key value coding
00:07:49
3.3 Observe changes on objects using key value observing
00:08:30
3.4 Implement manual KVO notifications
00:05:30
3.5 Avoid KVO gotchas
00:01:42
Lesson 4: Threads
Learning objectives
00:02:04
4.1 Understand threads
00:02:12
4.2 Understand Grand Central Dispatch
00:04:42
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: 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: Data Serialization
Learning objectives
6.1 Use NSCoder
6.2 Use property lists
6.3 Use JSON serialization
Lesson 7: 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
Summary of Objective-C Advanced Programming LiveLessons