Related Titles

Full Description

Its time to capitalize on your mastery of Cocoa with Pro Objective-C Design Patterns for iOS. Youve developed apps that impressed and performed, and now youre ready to jump into development practices that will leave you with more effective, efficient, and professional level apps. This book is the element you need to make the jump from journeyman to master.

All too often, developers grind through building good apps on willpower and a vigorous focus on code development, leaving them unaware of and unable to benefit from the underlying structural and functional design patterns.

Pro Objective-C Design Patterns for iOS will teach you those design patterns that have always been present at some level in your code, but were never recognized, acknowledged, or fully utilized. Implementation of specific pattern approaches will prove their value to any developer working in the iOS application arena. Youll learn to master classic patterns like singleton, abstract factory, chain of responsibility, and observer. Youll also discover less well-known but useful patterns like memento, composite, command, and mediator.

What youll learn

The basic concepts of various design patterns

How to apply design patterns to your code based on different scenarios

How design patterns can strengthen your apps

Who this book is for

Any professional or aspiring iOS developer will find productivity, efficiency, and effectiveness of software development enhanced by the methods and practice delivered by Pro Objective-C Design Patterns for iOS.

In the code that follows "// copy the children", child is added to strokeCopy instead of childCopy. Don't you want to add the copy of child, not child itself?

In the third paragraph of text, it states "Vertex is a direct subclass of Dot." Isn't it the other way around?

On page
216:

Listing 14-8 for file Mark.h includes definition for method enumerateMarksUsingBlock:. Listing 14-9 is described as containing the implementation for enumerateMarksUsingBlock, but lists the source file as Stroke.m. I think it should be Mark.m.

On page
239 (Kindle):

That is 239ish of 500 in the Kindle version. No idea what the actual page number is.

This is actually addressing a leak in the code. When you launch a scribble from the thumbnail you get.

2011-07-25 00:58:03.048 TouchPainter[39826:207] An instance 0x5a0bfb0 of class Scribble was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here's the current observation info:<NSKeyValueObservationInfo 0x5a3cad0> (<NSKeyValueObservance 0x5a3c9d0: Observer: 0x5d168c0, Key path: mark, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x5a033f0>)

I think this problem can fix fixed by adding [scribble_ removeObserver:self forKeyPath:@"mark"]; in the setScribble method in CanvasViewController.

// add itself to the scribble as // an observer for any changes to // its internal state - mark [scribble_ addObserver:self forKeyPath:@"mark" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:nil]; }}