O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Objective-C Advanced Programming LiveLessons (Video Training)

Video Description

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.

Table of Contents

  1. Introduction
    1. Introduction to Objective-C Advanced Programming LiveLessons 00:04:12
  2. Lesson 1: Blocks
    1. Learning Objectives 00:01:43
    2. 1.1 Understand blocks 00:05:35
    3. 1.2 Declare blocks 00:02:43
    4. 1.3 Use blocks 00:04:40
    5. 1.4 Understand block scope 00:05:57
    6. 1.5 Avoid problems with blocks 00:05:24
    7. 1.6 Know when to use blocks 00:01:49
  3. Lesson 2: Extending Existing Class Capabilities
    1. Learning objectives 00:01:51
    2. 2.1 Declare categories 00:05:17
    3. 2.2 Implement category methods 00:02:42
    4. 2.3 Understand category design patterns 00:05:11
    5. 2.4 Implement protocols with categories 00:04:09
    6. 2.5 Use anonymous categories 00:02:14
    7. 2.6 Avoid category gotchas 00:02:11
  4. Lesson 3: Key Value Coding and Key Value Observing
    1. Learning objectives 00:01:33
    2. 3.1 Declare KVC compliant properties 00:05:31
    3. 3.2 Access properties using key value coding 00:07:49
    4. 3.3 Observe changes on objects using key value observing 00:08:30
    5. 3.4 Implement manual KVO notifications 00:05:30
    6. 3.5 Avoid KVO gotchas 00:01:42
  5. Lesson 4: Threads
    1. Learning objectives 00:02:04
    2. 4.1 Understand threads 00:02:12
    3. 4.2 Understand Grand Central Dispatch 00:04:42
    4. 4.3 Use the low level GCD interface 00:14:54
    5. 4.4 Use NSOperation and NSOperationQueue 00:08:36
    6. 4.5 Synchronize threads 00:03:27
    7. 4.6 Understand atomic accessors 00:01:14
  6. Lesson 5: Objective-C Design Patterns
    1. Learning objectives 00:02:26
    2. 5.1 Understand design patterns 00:01:50
    3. 5.2 Understand design patterns in Objective-C 00:02:54
    4. 5.3 Create singletons 00:05:29
    5. 5.4 Delegate responsibility 00:09:05
    6. 5.5 Notify objects of changes 00:08:06
  7. Lesson 6: Data Serialization
    1. Learning objectives 00:01:40
    2. 6.1 Use NSCoder 00:11:36
    3. 6.2 Use property lists 00:02:27
    4. 6.3 Use JSON serialization 00:04:47
  8. Lesson 7: Objective-C Best Practices
    1. Learning objectives 00:03:27
    2. 7.1 Understand Modern Objective-C 00:02:50
    3. 7.2 Practice appropriate data encapsulation 00:03:03
    4. 7.3 Use properties appropriately 00:03:26
    5. 7.4 Use dot notation appropriately 00:02:30
    6. 7.5 Prevent non-ARC code from using your ARC code 00:01:51
  9. Summary
    1. Summary of Objective-C Advanced Programming LiveLessons 00:01:59