Hi:
I will be maintaining a list of notes and errata for the book in this thread. This message will be edited as errata are discovered as well as notes of interest to the readers will also be posted.
Page 72:
The following block of code:
Code:
[self.view addSubview:label];
[self.view addSubview:button];
[self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
[label release];
Should be:
Code:
[view addSubview:label];
[view addSubview:button];
[view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
[label release];
Also, the following block of code:
Code:
for (int i=0; i<[self.view.subviews count]; ++i) {
UIView *view = [self.view.subviews objectAtIndex:i];
NSLog([NSString stringWithFormat:@"%d", view.tag]);
}
Should be:
Code:
for (int i=0; i<[view.subviews count]; ++i) {
UIView *v = [view.subviews objectAtIndex:i];
NSLog([NSString stringWithFormat:@"%d", v.tag]);
}
Page 197
The following statement:
Code:
[movieSelected release];
Should be deleted as it is autoreleased.
Chapter 8 - Application Settings Page 242
Starting with the later beta version of the iPhone SDK 3.2, Apple mandates that the Picker View can only be called up using a PopoverView. Hence, the Picker view displayed in the View window as described in the book will not work. I have modified the original example and uploaded a new version of it at:
http://www.2shared.com/file/i5Sr9EwV...nSettings.html.
This updated project also fixed the problem of the app crashing when it loads for the first time and the user clicks on the Load Settings button. Have initialized the value in the Application Delegate.
More information about the PopoverView can be obtained from:
http://mobiforge.com/designing/story...pp-development.