We try to keep our books accurate, but sometimes mistakes creep
in. This page lists the errors submitted by our astute readers.
If you've found a new error, please
submit it.
The latest version of the book is B6.0,
released 11 days ago.
If you've bought a PDF of the book and would like to upgrade
it to this version (for free), visit your
home page.
| PDF |
Paper |
Description |
Found in |
Fixed in |
| Ch. 2 |
|
#36116: All of the projects in Chapter 2 use the View-Based Application template which creates (Hello, Button, Starter)AppDelegate.h and .m, main.m, MainWindow.xib, and other files. The role and function of these files are never discussed. Please try to include a broader discussion so that we can understand the MVC framework that we are using and how these files fit into it. A diagram(s) would be great! It is a huge jump to go from Hello iPhone to view controllers without the context and understanding of the framework. It could be a separate chapter on its own. --Danton Chin #36116: All of the projects in Chapter 2 use the View-Based Application template which creates (Hello, Button, Starter)AppDelegate.h and .m, main.m, M ...more...
|
B6.0
25-Nov-08
|
|
| all |
|
#35358: Although the overall book is great, i think explaining the "limitations" of both iPhone and its SDK (storage limits, memory limits etc.) before starting to explain other subjects may be a great addition for readers...--S.Çağlar Onur #35358: Although the overall book is great, i think explaining the "limitations" of both iPhone and its SDK (storage limits, memory limits etc.) befor ...more...
|
B3.0
19-Oct-08
|
|
| all |
|
#35113: in addition to #35040, since I'm bored tonight, a quick grep gives the following places where it's should be its and vice versa:
Missing apostrophe:
18 "If its easier to find what you are looking for"
18 "100% accurate but for now its close enough"
20 "updated the UI and the code now its time to run,"
21 "Once its done compiling"
21 "Once its started try rotating the device"
25 "its the same file we started with"
29 "developers prefer since its smaller"
32 "Now its time to create the new view"
40 "now its back to Inter face Builder"
183 "you might miss when its over"
superfluous apostrophe:
29 "and change it’s text to read ’Original Value’"
29 "and change it’s title to be ’Edit’"
81 "Each view controller gets it’s own tab"
167 "or passes it on to it’s nextResponder"
186 "last (on top) because it’s zPosition is set"
--Bas van Klinkenberg #35113: in addition to #35040, since I'm bored tonight, a quick grep gives the following places where it's should be its and vice versa:
Missing ap ...more...
|
B3.0
11-Oct-08
|
|
| none |
|
#34885: The overall book is great, but I think there needs to be a short primer on Cocoa in general. Since I only know the very basics of Cocoa, I did get a little lost.--Saurabh Sharan #34885: The overall book is great, but I think there needs to be a short primer on Cocoa in general. Since I only know the very basics of Cocoa, I did ...more...
|
B2.0
05-Oct-08
|
|
| all |
|
#34953: While it's great to have ANY book on the SDK at this time, may I suggest that you give your PDF a good spelling and grammar check even at this point. Nearly every page has irritating errors.
it would be a good idea to point out right in the introduction that the sample code is available on the website and that it is most helpful if people access it when trying to overcome roadblocks.
Looking forward to all the chapters ahead and the final masterpiece!
Grandpa Brian - publisher of apps for serious hockey folks.--Brian Beninger #34953: While it's great to have ANY book on the SDK at this time, may I suggest that you give your PDF a good spelling and grammar check even at this ...more...
|
B2.0
07-Oct-08
|
|
| ch 2 |
|
#35490: A bit about refactoring in one of the early chapters of the book would be nice.--Greg Robertson
|
B3.0
27-Oct-08
|
|
| ch 3 |
|
#35491: Would be nice to have the swipe to delete function explained for tables.--Greg Robertson
|
B3.0
27-Oct-08
|
|
| ch3 |
|
#35021: Your coverage of tables is, frankly, really weak. This is one of the key features of this platform and needs substantial focus. I would like to at least see the addition of table indexes along the right-hand side of the screen and doing anything more than displaying a simple text line in a cell.
Thanks for considering. Elia--Elia Freedman #35021: Your coverage of tables is, frankly, really weak. This is one of the key features of this platform and needs substantial focus. I would like t ...more...
|
B2.0
08-Oct-08
|
|
| all |
|
#35040: Its and It's are misused throughout the text, although not consistently. Some samples: p19,p20(twice) "its" is used where "it's" is needed for "it is" in three successive paragraphs. Then both "its" and "it's" are used correctly in the next paragraph (beginning with "Once it's launched". And "it's" is mistakenly used as a possessive instead of a contraction, such as on p16 and p17 where the term "it's superview" is mistakenly applied. --bitfool #35040: Its and It's are misused throughout the text, although not consistently. Some samples: p19,p20(twice) "its" is used where "it's" is needed fo ...more...
|
B2.0
09-Oct-08
|
|
| #24 |
|
#34808: In the description, "In the list of actions click the ’+’ button and call the action buttonPushed: (make sure to keep the colon)."
While in fact the action you are creating is called buttonClicked, and the diagrams show that also.--Paul Li #34808: In the description, "In the list of actions click the ’+’ button and call the action buttonPushed: (make sure to keep the colon)."
While in ...more...
|
B2.0
04-Oct-08
|
|
| 0 |
|
#35499: this is a note for the v-bdiphone-v-01.mov... not sure if it effects the book or not...
at timecode: 15:01 talks about Style being set to "Indexed", my version of IB lists "Plain" and "Grouped" not "Indexed" for the table view.
--Eric White #35499: this is a note for the v-bdiphone-v-01.mov... not sure if it effects the book or not...
at timecode: 15:01 talks about Style being set to " ...more...
|
B4.0
27-Oct-08
|
|
| 0 |
|
#35501: this is a note for the v-bdiphone-v-02.mov... not sure if it effects the book or not... at timecode: 18:51 a line of code (#import "IngredientsViewController.h") pops on the screen with no voice over noting that it has been added to the project file, and without it, the app will not compile and you get a 'request for member "ingredients" in something not a structure or union' error.
--Eric White #35501: this is a note for the v-bdiphone-v-02.mov... not sure if it effects the book or not... at timecode: 18:51 a line of code (#import "Ingredient ...more...
|
B4.0
28-Oct-08
|
|
| 1 |
|
#36163: I would love to see some exercises at the back of each chapter. It would make it palatable to CS professors (such as yours truly) considering adopting it as a textbook.--Michael Rogers #36163: I would love to see some exercises at the back of each chapter. It would make it palatable to CS professors (such as yours truly) considering ...more...
|
B6.0
28-Nov-08
|
|
| 14 |
|
#35892: "reorganize to your hearts
content." should be "reorganize to your heart's
content."--Patrick Weigel
|
B4.0
14-Nov-08
|
|
| 14 |
|
#34887: Whoah.... What a mess. You start dropping terms like UIKit object and nib file, without ever explaining what they are. Luckily, I happen to know what these things are, but I don't know them from your book. --András Puiz #34887: Whoah.... What a mess. You start dropping terms like UIKit object and nib file, without ever explaining what they are. Luckily, I happen to kn ...more...
|
B2.0
05-Oct-08
|
|
| 14 |
|
#35938: The text says that Xcode News [RSS] can be used to keep up to date with announcements about things like new sample code, but that section of the UI seems to be no longer updated. The RSS feed shows items up until June, and it is now November. #35938: The text says that Xcode News [RSS] can be used to keep up to date with announcements about things like new sample code, but that section of t ...more...
|
B5.0
16-Nov-08
|
|
| 15 |
|
#35330: You should explicitly tell us to turn on the text centering, otherwise the rotating behavior seems like a bug.--Stonewall Ballard
|
B3.0
18-Oct-08
|
|
| 16 |
|
#35895: third paragraph: "(completion, refactoring etc)." should be "(completion, refactoring, etc.)."--Patrick Weigel
|
B5.0
14-Nov-08
|
|
| 16 |
|
#36201: The "Build & Go" shortcut described in the 2nd-to-last paragraph is Command+Enter in Xcode 3.1, not Command-Option-Enter--Markus Prinz
|
B6.0
30-Nov-08
|
|
| 16 |
|
#35719: For Me the overview menu is by default. But the active target is not--Daniel
|
B4.0
08-Nov-08
|
|
| 18 |
|
#35155: missing commas
Before we dive into the code <comma>
Once you have selected a file in the list <comma>
The two missing apostrophes mentioned in #35113--EY #35155: missing commas
Before we dive into the code <comma>
Once you have selected a file in the list <comma>
The two missing apostrophes mention ...more...
|
B3.0
11-Oct-08
|
|
| 18 |
|
#35156: from the preceding page, it states: "Figure 1.7, on the following page shows"
Since the words "Figure 1.7, on" was on page 17, I interpreted "the following page" to be page 18, but the figure is on page 19. Would be better to specify "Figure 1.7, on page 19, shows" (also note the comma after the page number)
"superview" is used without explicitly explaining what it is.
"If its easier to find what you are looking for you can
hold down the option key and click and Xcode will display the symbols in alphabetical order."
The above sentence is confusing. It does not tell you that you need to be clicking on the symbols pulldown. It should also be rewritten to explain at the *beginning* the purpose of this alternative.
For example: If it would be easier to find the symbol from an alphabetical list of symbols, you can option-click the symbols pulldown, and Xcode will display the symbols in the code in alphabetical order.
You can add a special feature to explain to people who don't know how to "option-click" or "control-click" something so that you can use these more concise terms in the rest of the book.--EY #35156: from the preceding page, it states: "Figure 1.7, on the following page shows"
Since the words "Figure 1.7, on" was on page 17, I interprete ...more...
|
B3.0
11-Oct-08
|
|
| 19 |
|
#34856: After clicking on "Download HelloiPhone/Hello/Classes/HelloViewController.m", the browser doesn't show the file contents properly, as though the web server doesn't know how to display the file as code or whatever.--Damian Haslam #34856: After clicking on "Download HelloiPhone/Hello/Classes/HelloViewController.m", the browser doesn't show the file contents properly, as though t ...more...
|
B2.0
04-Oct-08
|
|
| 19 |
|
#34890: Second paragraph, second sentence. "its" should be "it's"--Jeff Cleary
|
B2.0
05-Oct-08
|
|
| 19 |
|
#35157: This page has figure 1.7, but the label and caption is missing for the figure. In addition, the screen shot should be annotated so that it is clear what parts are the struts and what parts are the springs.
It seems like a waste to have a single screen shot take up the entire page. Perhaps 3 screen shots, one showing struts on, one showing springs on, and one showing a mix would be a better use of the space. Or step-by-step screenshots from the default setting to the desired setting (take off two struts and add two springs).--EY #35157: This page has figure 1.7, but the label and caption is missing for the figure. In addition, the screen shot should be annotated so that it is ...more...
|
B3.0
11-Oct-08
|
|
| 22 |
|
#36108: shouldAutorotateToInterfaceOrientation is not commented out now and contains one line of code already. Maybe the text should be more vague here.--Justin Lolofie
|
B6.0
24-Nov-08
|
|
| 23 |
|
#36140: Section 1.5 really glosses over the certificate and profiling process. I think you should cover it in detail. I am realizing now there are some best practices like using a .* for the app id which Apple does not explain well. I think you have an opportunity to make it clear and make your reader's transition to iPhone development easier.--Christopher M. Judd #36140: Section 1.5 really glosses over the certificate and profiling process. I think you should cover it in detail. I am realizing now there are som ...more...
|
B6.0
26-Nov-08
|
|
| 23 |
|
#35685: In the code samples (specifically I'm looking at the FilesystemExplorer one), in the "Build" section of the "Get Info" dialog box, The code signing identity is set to "iPhone Developer:Chris Adamson" instead of just "iPhone Developer" (like BundlePrefereableClock does). That means that people are going to have to make changes in a piece of the XCode UI that the book doesn't really talk about in order to be able to run the app on their device.--Carl Brown #35685: In the code samples (specifically I'm looking at the FilesystemExplorer one), in the "Build" section of the "Get Info" dialog box, The code si ...more...
|
B4.0
07-Nov-08
|
|
| 24 |
|
#36139: The first paragraph suggest selecting the Active SDK Device - iPhone OS 2.0. But this may not be correct depending on which OS you have on your device. So first, I think it should say to select the appropriate version that matches your device. Second, I think you might want to explain the SDK concept and how you might need to install new SDK's to match your device. I know I got bizarre error messages before I knew to install the new SDK and selected the right version.--Christopher M. Judd #36139: The first paragraph suggest selecting the Active SDK Device - iPhone OS 2.0. But this may not be correct depending on which OS you have on you ...more...
|
B6.0
26-Nov-08
|
|
| 25 |
25 |
#35137: It would be rather helpful, in chapter 2, to give an illustration summarizing what we are going to do before we do it. Show both controllers, both xib files, and the relationships between then. Then, describe how to make these files. As it is, I feel like I'm just blindly wandering about, with no sense that of our overall goal.--Michael Rogers #35137: It would be rather helpful, in chapter 2, to give an illustration summarizing what we are going to do before we do it. Show both controllers, ...more...
|
B3.0
11-Oct-08
|
|
| 27 |
27 |
#35094: [Note: I really want this book to succeed, so take this and all my future suggestions in the constructive way in which they are intended.] There's no explanation of what a File Owner is: a "Joe Asks" would be really appreciated here.
--Michael Rogers #35094: [Note: I really want this book to succeed, so take this and all my future suggestions in the constructive way in which they are intended.] T ...more...
|
B3.0
11-Oct-08
|
|
| 28 |
30 |
#36008: In Chapter two section 2.1 Your First View Controller, some of the steps to create a move me button application are missing or wrong. first you can not connect Button Click action to file owner until you declare the event action in view controller.h file , first you have to declare and define the action receiver method in view controller files (.h and .m) then you just simply chose the event like TabDown and drag it to the file Owner object . please check the code and the steps .--baber waqas #36008: In Chapter two section 2.1 Your First View Controller, some of the steps to create a move me button application are missing or wrong. first yo ...more...
|
B5.0
20-Nov-08
|
|
| 33 |
|
#35457: Should explain or have discussion on 'nonatomic' and 'retain' and any other parameters passed in '@property'
Thanks Greg--Greg Robertson
|
B3.0
26-Oct-08
|
|
| 33 |
|
#35976: For now you
have just written the inter face—for now that’s all you need
Double 'for now' looks bad.--Elijah Epifanov
|
B5.0
19-Nov-08
|
|
| 34 |
|
#35741: Incredibly minor: The sidebar entitled "Target/Action Paradigm" should come after the code sample. As currently laid out, the @end tag from the "EditorViewController.h" sample isn't readily visible and could be the source of a typo by someone who is either cutting and pasting the code directly, or just following along exactly with each example.--Randall Thomas #35741: Incredibly minor: The sidebar entitled "Target/Action Paradigm" should come after the code sample. As currently laid out, the @end tag from ...more...
|
B4.0
09-Nov-08
|
|
| 35 |
|
#36169: In the Target Action Paradigm sub-section, the description of the third method signature in the last sentance should read something to the effect: "Finally you might need the <add>last</add> method signature if you are tracking a multi-touch gesture in your app." The current phrasing is slightly difficult to understand.
--Mark W. Wallace #36169: In the Target Action Paradigm sub-section, the description of the third method signature in the last sentance should read something to the eff ...more...
|
B6.0
28-Nov-08
|
|
| 37 |
|
#34884: By using example, code doesn't work as expected.
In ordre it works, i add in textFieldShouldReturn method of EditorViewController class :
field = textField;
If not, the Label text doesn't change even if edited.
Maybe, it isn't the "coorect" solution, but i think there is a mistake.
--Pierre Harambillet #34884: By using example, code doesn't work as expected.
In ordre it works, i add in textFieldShouldReturn method of EditorViewController class :
fi ...more...
|
B2.0
05-Oct-08
|
|
| 40 |
|
#35960: While this shows an example of a modal view, the question I was left with was "Is this how I link all views from a button?" In other words- I've seen Apple examples about addSubView- how does that differ from modal? Why would I choose model over the addSubView? It would be great if this section could provide a bit more meat around the differences here, or at least an explanation as to why one would want to use the modal view approach.--Jason Weiss #35960: While this shows an example of a modal view, the question I was left with was "Is this how I link all views from a button?" In other words- I ...more...
|
B5.0
17-Nov-08
|
|
| 40 |
|
#35459: Second paragraph in 2.6 is not clear to me why I would do this. I would like a longer discussion about why I am doing the steps indicated.
Thanks
Greg--Greg Robertson #35459: Second paragraph in 2.6 is not clear to me why I would do this. I would like a longer discussion about why I am doing the steps indicated.
...more...
|
B3.0
26-Oct-08
|
|
| 41 |
|
#34765: "Right between where we synthesized the teams instance variable and where the viewDidLoad method is..." In the code generated by the SDK (build 9M2517), there are already several methods between these two points.--Ilari Sani #34765: "Right between where we synthesized the teams instance variable and where the viewDidLoad method is..." In the code generated by the SDK (buil ...more...
|
B1.0
03-Oct-08
|
|
| 44 |
|
#35077: In the first few sections of this chapter the term section was thrown around several times. I had already played around with UITableViews before and still found myself a bit confused on what a section was. I think this would be an appropriate place for the anatomy of the UITableView, i.e., for a picture of a UITableView with at least two or more sections and labels of what each piece of the UITableView is (e.g., section, row, parts of the UITableViewCell, etc.). #35077: In the first few sections of this chapter the term section was thrown around several times. I had already played around with UITableViews befo ...more...
|
B3.0
10-Oct-08
|
|
| 44 |
|
#35375: decent book, I am more of a visual learner and I think you could have easily explained the table view schema in one diagram. In general more visual stuff would save readers like me a lot of time from rereading on what we could grasp in one glance at a diagram that shows the relationship. thanks
Salim Madjd--salim madjd #35375: decent book, I am more of a visual learner and I think you could have easily explained the table view schema in one diagram. In general more v ...more...
|
B3.0
20-Oct-08
|
|
| 45 |
|
#35937: "Though you could set any object to serve as a table view’s data source, you’ll almost always have your UITableViewController play this roll."
Doesn't this violate the MVC design pattern? Isn't the Model supposed to define the data source? And shouldn't you keep the Model and the Controller separate?--Dean Keough #35937: "Though you could set any object to serve as a table view’s data source, you’ll almost always have your UITableViewController play this roll." ...more...
|
B5.0
16-Nov-08
|
|
| 45 |
|
#34766: "Our text view’s rows didn’t expand to fill the space provided..." This issue doesn't appear with the SDK Build 9M2517, so the section is no longer relevant.--Ilari Sani #34766: "Our text view’s rows didn’t expand to fill the space provided..." This issue doesn't appear with the SDK Build 9M2517, so the section is no lo ...more...
|
B1.0
03-Oct-08
|
|
| 46 |
|
#34846: "Right between where we synthesized the teams instance variable and
where the viewDidLoad method is, add this initialization code:"
This instruction does not truly fit with reality (at least for the latest versions of XCode. Between the teams instance variable and the viewDidLoad method are several pre-generated methods. And viewDidLoad is also commented out. In my generated code it would be more accurate to say:
"Right between where we synthesized the teams instance variable and
where the numberOfSectionsInTableView method is, add this initialization code:"
In general though, I think you would be better served in this case, as well as throughout the book to actually provide a few lines of context around any code that you are providing. This will eliminate confusion, and will require less reader parsing of text when the code sample is self documenting as to the change. You may even highlight the new code in a bold font and the context code in a lighter color.
--Glenn Rempe #34846: "Right between where we synthesized the teams instance variable and
where the viewDidLoad method is, add this initialization code:"
This ...more...
|
B2.0
04-Oct-08
|
|
| 46 |
|
#34869: Yor write:
Right between where we synthesized the teams instance variable and
where the viewDidLoad method is, add this initialization code:
But in XCode, viewDidLoad is long way down in the code. So just change it to read:
Right after where we synthesized the variable... --Povl H. Pedersen #34869: Yor write:
Right between where we synthesized the teams instance variable and
where the viewDidLoad method is, add this initialization code ...more...
|
B2.0
05-Oct-08
|
|
| 47 |
|
#34876: The sample code block on this page, and its fuller implementation on the next page are poorly presented.
"
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"Team";
"
It is not made clear that we are not to add this as a new method, but instead should be modifying a single line of an existing method.
Additionally, you suggest calling the cell identifier by the name 'MyIdentifier' when the default generated method uses '*CellIdentifier'.
Also, you do not setup MyIdentifier to be a pointer as the generated code does.
Then on the next page you give the full implementation of the method. I would suggest instead collapsing these into a single code sample, and stay as close to the system generated method as possible and highlight only those lines of code that are different than the default code.--Glenn Rempe #34876: The sample code block on this page, and its fuller implementation on the next page are poorly presented.
"
- (UITableViewCell *)tableView: ...more...
|
B2.0
05-Oct-08
|
|
| 47 |
|
#35158: initWithCoder function indentation closing the if statement and return are tabbed in an extra tab. --Luke Tupper
|
B3.0
12-Oct-08
|
|
| 47/48 |
|
#34755: In the code listing at the bottom of the page which carries over to page 48, you have included the line to remove the item from the teams array even though it is meant to be the boiler-plate code.--Simon Wolf #34755: In the code listing at the bottom of the page which carries over to page 48, you have included the line to remove the item from the teams arra ...more...
|
B1.0
03-Oct-08
|
|
| 47 |
|
#34780: actually the whole viewDidLoad method is commented so the enclosing /* and */ must also be deleted in addition to uncommenting the line inside the method. #34780: actually the whole viewDidLoad method is commented so the enclosing /* and */ must also be deleted in addition to uncommenting the line inside ...more...
|
B1.0
03-Oct-08
|
|
| 48 |
|
#34769: > [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
"YES" must be "UITableViewRowAnimationFade" or something.
--Yoshikazu Kakinoki #34769: > [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
"YES" must be "UITableViewRowAnimationFade" ...more...
|
B1.0
03-Oct-08
|
|
| 49 |
|
#35338: Hey, I'd really like some more information about how to do a custom UITableViewCell. You don't cover that.
Thank you.--stephan.com
|
B3.0
19-Oct-08
|
|
| 49 |
|
#34840: The last paragraph says "...in RootViewController.
The default implemtentation returns YES...". This is not true. Here is the default implementation from my project:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}--Kevin Runde #34840: The last paragraph says "...in RootViewController.
The default implemtentation returns YES...". This is not true. Here is the default impleme ...more...
|
B2.0
04-Oct-08
|
|
| 49 |
|
#34845: I don't think "niggly" is a real word, is it? (line 3)--Russell Nemhauser
|
B2.0
04-Oct-08
|
|
| 49 |
|
#34878: implemtentation should be 'implementation'--Glenn Rempe
|
B2.0
05-Oct-08
|
|
| 49 |
|
#35242: Using what I think is the latest version of the iPhone SDK, the method cellForRowAtIndexPath is already defined using a CellIdentifier. The code on page 48 has us create an index called MyIdentifier and then states we do not need to modify any of the other lines. One page 49, section 3.7 the code shows the correct option of using MyIdentifier in the correct places, in contrast to the "not need to modify any of those lines" in the previous page. This could be a little more clear otherwise people could miss it. You may also want to mention removing the original CellIdentifier NSString though it really does no harm.
Thanks!
Mike--Mike Metzger #35242: Using what I think is the latest version of the iPhone SDK, the method cellForRowAtIndexPath is already defined using a CellIdentifier. The c ...more...
|
B3.0
14-Oct-08
|
|
| 49 |
|
#36075: Why override the initializer when Apple has provided us with:
- (void)awakeFromNib
which is called on every object as it is reconstructed from the nib file. Both ways work, but your point is “Because it’s loaded from a nib file…” so I think it’s best if you use “awakeFromNib” which is designed for this situation.
Please explain the long-term goals of using the initWithCoder because I think you might have some in mind. (serialization or the ability to programmatically initialize).--Lee Hericks #36075: Why override the initializer when Apple has provided us with:
- (void)awakeFromNib
which is called on every object as it is reconstructe ...more...
|
B6.0
23-Nov-08
|
|
| 49 |
|
#35324: I just downloaded the latest version of the SDK (I think), and in the code fragment, *MyIdentifier is actually *CellIdentifier in the pre-generated code.--Damian Haslam #35324: I just downloaded the latest version of the SDK (I think), and in the code fragment, *MyIdentifier is actually *CellIdentifier in the pre-gene ...more...
|
B3.0
18-Oct-08
|
|
| 49 |
|
#35325: I just downloaded the latest version of the SDK (I think), and in the code fragment, *MyIdentifier is actually *CellIdentifier in the pre-generated code.--Damian Haslam #35325: I just downloaded the latest version of the SDK (I think), and in the code fragment, *MyIdentifier is actually *CellIdentifier in the pre-gene ...more...
|
B3.0
18-Oct-08
|
|
| 50 |
|
#34852: It would appear with SDK 2.1, the default for the table view in the Navigation template is to expand with the view, so these steps are no longer necessary. --Patrick Burleson #34852: It would appear with SDK 2.1, the default for the table view in the Navigation template is to expand with the view, so these steps are no long ...more...
|
B2.0
04-Oct-08
|
|
| 50 |
|
#35477: Section 3.8: Supporting rotation was unnecessary when I ran through it as the table seemed already set-up to support proper rotation.--Vincent J. Vazzo
|
B3.0
26-Oct-08
|
|
| 51 |
|
#34870: Re: #34812
Same here. Default is bound to all 4 edges. 3.1 + 2.1--Povl H. Pedersen
|
B2.0
05-Oct-08
|
|
| 51 |
|
#34879: verticle should be vertical--Glenn Rempe
|
B2.0
05-Oct-08
|
|
| 51 |
|
#34882: You state:
"Save the nib and let’s Build & Go again. Now if we rotate the device it
does what we want. Go ahead and rotate it a full 360 degrees. It should
behave how we expect in all cases."
I think that most users will be doing a 'build & go' with the simulator as the target and not running this bit of test code on actual hardware. There is no way (at least as far as I can tell) to turn the simulator 360 degrees and ever get to the upsidedown portrait view. I can only get it into standard portrait and left horizontal positions.--Glenn Rempe #34882: You state:
"Save the nib and let’s Build & Go again. Now if we rotate the device it
does what we want. Go ahead and rotate it a full 360 ...more...
|
B2.0
05-Oct-08
|
|
| 51 |
|
#34812: The version of Xcode I am using 3.1.1 with iPhone 2.1 has the tableview setup to auto-expand without the need to make these changes.--Mike Ratliff
|
B2.0
04-Oct-08
|
|
| 52 |
|
#34841: The viewDidLoad method in my project does not look like what is shown. Here is what I saw:
/*
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to add the Edit button to the navigation bar.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
*/
--Kevin Runde #34841: The viewDidLoad method in my project does not look like what is shown. Here is what I saw:
/*
- (void)viewDidLoad {
[super viewDidLoad] ...more...
|
B2.0
04-Oct-08
|
|
| 52 |
|
#35353: I think the defaults may have changed, but the table rows already resize by default. That is, my view never matched Figure 3.4 -- the rows were always expanded... and Figure 3.5 -- it's already set up that way when I open the nib file.--Tom Wilcoxen #35353: I think the defaults may have changed, but the table rows already resize by default. That is, my view never matched Figure 3.4 -- the rows wer ...more...
|
B3.0
19-Oct-08
|
|
| 52 |
|
#34860: 3rd line in paragraph for section 3.9, "edit mode and then make the UITableViewdataSourcerableView:commitEditingStyle:forRowAtIndexPath:" should be wrapping in there somewhere - it extends past the margin of the text column.--Damian Haslam #34860: 3rd line in paragraph for section 3.9, "edit mode and then make the UITableViewdataSourcerableView:commitEditingStyle:forRowAtIndexPath:" shou ...more...
|
B2.0
04-Oct-08
|
|
| 52 |
|
#34871: Default in XCode 3.1 / iPhone 2.1 is
self.navigationItem.rightBarButtonItem = self.editButtonItem;
Edit in the left is old style. Also, now many default functions in the template code is commented out with block comments /* ... */--Povl H. Pedersen #34871: Default in XCode 3.1 / iPhone 2.1 is
self.navigationItem.rightBarButtonItem = self.editButtonItem;
Edit in the left is old style. Also, now ...more...
|
B2.0
05-Oct-08
|
|
| 52 |
|
#34883: Personally I would not have added the '(surprise, surprise)' as it implies that everything that has preceded has been really easy.
I would additionally comment that so far in the book I have been getting good at copying and pasting code, but I don't feel you have been really teaching me much to understand what the code I am copying really means, and how I would go about knowing how to implement it when I am creating my own app.
See Hillegass' Cocoa Programming for OS X for a much more instructional style. I heard the authors in a recent podcast episode saying that they were targetting people who are experience developers, but not experienced with cocoa/obj-c/cocoa touch. It actually feels so far like they are really targeting existing mac developers, who just want to expand into iPhone dev as well. My $0.02. :-)--Glenn Rempe #34883: Personally I would not have added the '(surprise, surprise)' as it implies that everything that has preceded has been really easy.
I would ...more...
|
B2.0
05-Oct-08
|
|
| 52 |
|
#35416: My Table View Size window differs from yours in 2 ways:
1) Under Frame, the width and height are the same values (320 and 460) but are greyed out - can't be changed.
2) I can't select the Springs. When I click on them nothing happens.--Bert Porter #35416: My Table View Size window differs from yours in 2 ways:
1) Under Frame, the width and height are the same values (320 and 460) but are greye ...more...
|
B3.0
23-Oct-08
|
|
| 53 |
|
#35097: Xcode 3.1.1 generates viewDidLoad with the edit button on the right of the bar, not the left.
--John Daily
|
B3.0
11-Oct-08
|
|
| 53 |
|
#34849: [teams removeObjectAtIndex:indexPath.row] gives me a warning: "NSMutableArray" may not respond to "-removeObjectAtIndex:" (Messages without a matching method signature will be assumed to return 'id' and accept '...' as arguments".
And when I run the app and try to delete the row, it freezes once I press the red "Delete" button on the row I want to delete.--Russell Nemhauser #34849: [teams removeObjectAtIndex:indexPath.row] gives me a warning: "NSMutableArray" may not respond to "-removeObjectAtIndex:" (Messages without a ...more...
|
B2.0
04-Oct-08
|
|
| 53 |
|
#35966: Page 53/54: Didn't get the 'broken' TableView after the rotation even though I hadn't made the suggested changes in Interface Builder yet. The default autosizing settings for the TableView now seem to include these changes. #35966: Page 53/54: Didn't get the 'broken' TableView after the rotation even though I hadn't made the suggested changes in Interface Builder yet. The ...more...
|
B5.0
18-Nov-08
|
|
| 53 |
|
#35479: In the viewDidLoad method in section 3.9, XCode generated the editButtonItem on the right side of the navigation bar:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
This could cause confusion in the next section where you instruct users to put an add button on the right side..--Vincent J. Vazzo #35479: In the viewDidLoad method in section 3.9, XCode generated the editButtonItem on the right side of the navigation bar:
self.navigationItem.r ...more...
|
B3.0
26-Oct-08
|
|
| 53 |
|
#34764: In the first full paragraph you tell the reader to set the File Owner's navigationitem to reference the UINavigationItem. You cannot do this until you have done step 3.12 on page 54.--Simon Wolf #34764: In the first full paragraph you tell the reader to set the File Owner's navigationitem to reference the UINavigationItem. You cannot do this u ...more...
|
B1.0
03-Oct-08
|
|
| 54 |
|
#35417: Little confusing to have sample code on 53 and then same sample code on 54 with additional code inserted. Could be done at same time followed or preceded by explanation.--Bert Porter #35417: Little confusing to have sample code on 53 and then same sample code on 54 with additional code inserted. Could be done at same time followed ...more...
|
B3.0
23-Oct-08
|
|
| 54 |
|
#35230: In:
if (editingStyle == UITableViewCellEditingStyleDelete) {
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:YES];
[teams removeObjectAtIndex:indexPath.row];
You must call tableView:deleteRowsAtIndexPaths: *the first* and NSArray:removeObjectAtIndex: *the second*.
--Michele Gazzaruso #35230: In:
if (editingStyle == UITableViewCellEditingStyleDelete) {
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
with ...more...
|
B3.0
14-Oct-08
|
|
| 55 |
|
#35187: Section 3.10 looks to be missing the @synthesize for the addbuttonItem.--Paul Barrett
|
B3.0
13-Oct-08
|
|
| 56 |
|
#34842: In the second to last paragraph when creating the new view you need to make sure Cocoa Touch is selected in the nav on the left of the Choose a Template Wizard. If you have Cocoa selected there is a view option as well.--Kevin Runde #34842: In the second to last paragraph when creating the new view you need to make sure Cocoa Touch is selected in the nav on the left of the Choose ...more...
|
B2.0
04-Oct-08
|
|
| 56 |
|
#35388: @synthesize addButtonItem; Is not listed as one of the things to perform before building.--Matthew Husby
|
B3.0
21-Oct-08
|
|
| 56 |
|
#35431: - (void)addButtonWasPressed;
should be - (IBAction)addButtonWasPressed; It should use the Target/Action paradigm that was mentioned on page 33--Moski
|
B3.0
24-Oct-08
|
|
| 56 |
|
#34960: Last line of page - "palatte" should be "palette"--Todd Breiholz
|
B2.0
07-Oct-08
|
|
| 56 |
|
#35026: Second paragraph of 3.11 should be .xib instead of .nib (two times here). This isn't the only occurance in the book, just as an example here.
--Heinrich Schnermann
|
B2.0
08-Oct-08
|
|
| 56 |
|
#36076: Apple’s documentation in the TableView Programming Guide removes the data from the array before deleting the row. Done this way, there is no need for [tableView beginUpdates] and [tableView endUpdates].
Perhaps this is just the safest route to take for teaching people new to the platform? Maybe you could put in a word about these wrapper calls, explaining why they might or might not be used?--Lee Hericks #36076: Apple’s documentation in the TableView Programming Guide removes the data from the array before deleting the row. Done this way, there is no n ...more...
|
B6.0
23-Nov-08
|
|
| 57 |
|
#36072: Bottom of this page, continued to page 58:
You alloc an object (UIBarButtonItem), you have to clean it up. This is a memory leak. Please add autorelease or flesh out the code by adding a variable and releasing it after.
--Lee Hericks #36072: Bottom of this page, continued to page 58:
You alloc an object (UIBarButtonItem), you have to clean it up. This is a memory leak. Please ...more...
|
B6.0
23-Nov-08
|
|
| 58 |
|
#35112: In chapter 3 we do some pretty cool but complex stuff. We learn how to add and remove items form a table view.
Now, near the end we create a new nib file with the textField where we type our new entry’s name. We set up the AddTeamViewController as the delegate programatically, but couldn’t it have been done in Interface Builder as well?
From what I have seen there are several ways to do things in Xcode and Interface Builder.
We also set up the keyboard to show a “DONE” key instead of return, again I did that in Interface Builder.
I was just checking to see if both ways are ok, because sometimes I get confused as to what I can and cannot do within interface builder that must be done in code.
From Felipe Laso--Bill Dudney #35112: In chapter 3 we do some pretty cool but complex stuff. We learn how to add and remove items form a table view.
Now, near the end we create ...more...
|
B3.0
11-Oct-08
|
|
| 58 |
|
#34862: In Xcode select File->New File... (or Command - N ). When propmted choose
a UIViewController subclass that we’re going to call AddTeamViewCon-
troller.
Note "propmted" should be "prompted".--Damian Haslam #34862: In Xcode select File->New File... (or Command - N ). When propmted choose
a UIViewController subclass that we’re going to call AddTeamViewCo ...more...
|
B2.0
05-Oct-08
|
|
| 58 |
|
#34863: Include the code for dealloc method, as well as the synthesize (boring, but helpful). Do the same thing on page 61 too (include the code).--Damian Haslam
|
B2.0
05-Oct-08
|
|
| 58 |
|
#34947: The first full paragraph, which attempts to set up the navigationItem, doesn't work at all. Perhaps the instructions are unclear and I messed up the demo, but when I drop off the Navigation Item into the AddTeamViewController window (which contains File's Owner, First Responder, etc.) I am unable to control click the File's Owner to the navigationItem of the Navigation Item because nothing pops up when I release the control+click while I'm hovering over the Navigation Item. Help would be greatly appreciated here.--Russell Nemhauser #34947: The first full paragraph, which attempts to set up the navigationItem, doesn't work at all. Perhaps the instructions are unclear and I messed ...more...
|
B2.0
06-Oct-08
|
|
| 58 |
|
#35054: Exchange first and last paragraphs then the AddTeamViewControler nib file will work.--Ronald H Bingham
|
B3.0
09-Oct-08
|
|
| 58 |
|
#34814: The action of adding navigation item is not correct, your description:
--
Our AddTeamViewController views needs a title and a button to get back
to the list of teams. Search for “Navigation Item” in the Inter face Builder
library. Drag an instance into our AddTeamViewController Inspector win-
dow. Control click the File’s Owner to the “Navigation Item” and assign
it to the File’s Owner’s navigationItem outlet. Then set the title of the
Navigation Item to “Add Team” in the attribute inspector.
--
But you don't jet assign file's owner to AddTeamViewController, so it can't have outlet.--Giovanni Mazza #34814: The action of adding navigation item is not correct, your description:
--
Our AddTeamViewController views needs a title and a button to get ...more...
|
B2.0
04-Oct-08
|
|
| 59 |
|
#35166: On page 59, we’re told to drag a Navigation Item into the Inspector and then connect it to the File’s Owner’s navigationItem outlet. However, as far as I understand it, this is only possible after the AddTeamViewController.m file has been created and the File’s Owner’s Class has been set to AddTeamViewController, which is what we’re told right afterwards, on pages 59 and 60.
So in order to get this working, you’ll first have to create the Class File and its contents, then tell File’s Owner the correct Class name and then add the Navigation Item.--Daniel Jilg #35166: On page 59, we’re told to drag a Navigation Item into the Inspector and then connect it to the File’s Owner’s navigationItem outlet. However, ...more...
|
B3.0
12-Oct-08
|
|
| 59 |
|
#35179: AddTeamViewController.xib
Connecting the File's Owner to the Navigation Item doesn't work.
You either need to move this to section 3.12 and add additional information about adding a navigation item outlet, or move the section on creating the AddTeamViewController class to this section and explain how to add the navigation item outlet. Once the class and navigation item outlet have been created (and the class assigned to the File's Owner) the existing paragraph will work.
--Ryan Booker #35179: AddTeamViewController.xib
Connecting the File's Owner to the Navigation Item doesn't work.
You either need to move this to section 3.12 ...more...
|
B3.0
13-Oct-08
|
|
| 59 |
|
#35956: Section 3.11 onwards describes how to create a .xib file from scratch, and later hook it up to a controller class.
I wasn't able to follow the text in this direction. But if I create the controller class first, and then the xib file, I was able to hook everything up correctly (i.e. add navigation item, place the hook from the file's owner to the nav. item, set the view as the "view" on the file's owner etc.).
So the section describing the creation of the controller class should be before the creation of the xib.--Henrik Mohr #35956: Section 3.11 onwards describes how to create a .xib file from scratch, and later hook it up to a controller class.
I wasn't able to follow ...more...
|
B5.0
17-Nov-08
|
|
| 59 |
|
#35480: IB will not let me connect File's Owner to the Navigation Item until after I set up the ViewController class and assign File's Owner to be of type AddTeamViewController. But the instruction to connect it comes before creating the class in the book. -VincentV--Vincent J. Vazzo #35480: IB will not let me connect File's Owner to the Navigation Item until after I set up the ViewController class and assign File's Owner to be of ...more...
|
B3.0
26-Oct-08
|
|
| 59 |
|
#35057: "Control click the File’s Owner to the “Navigation Item” and assign
it to the File’s Owner’s navigationItem outlet." ==> I don't think this action can be done yet because we haven't created the AddTeamViewController yet.--Robin Martin #35057: "Control click the File’s Owner to the “Navigation Item” and assign
it to the File’s Owner’s navigationItem outlet." ==> I don't think this ...more...
|
B3.0
09-Oct-08
|
|
| 60 |
|
#34864: Make Figure 3.13 description be "Figure 3.13: Confirming outlets are set correctly (Right Click on File's Owner)"--Damian Haslam
|
B2.0
05-Oct-08
|
|
| 60 |
|
#35190: It would be helpful if common mistakes that people run into might be mentioned at each step and the solution provided.
I, for one, missed adding the <UITextFieldDelegate> both on page 59 (since it wasn't mentioned explicitly) and also on pages 33-34. While everything compiles, I did not understand why the outlets were not being recognized in IB. So, a tip to the user (at page 33/34) would be that if the outlet isn't being recognized when the class is set for the File's Owner, then check to make sure that the class has indicated that it is implementing whatever the particular protocol is.--EY #35190: It would be helpful if common mistakes that people run into might be mentioned at each step and the solution provided.
I, for one, missed a ...more...
|
B3.0
13-Oct-08
|
|
| 60 |
|
#35464: 'a application' should be 'an application'--Greg Robertson
|
B3.0
26-Oct-08
|
|
| 60 |
|
#35521: re: Simplest technical fix for "Can't connect File's Owner to Navigation Item" problem.
Two parts to this fix: (1) remove one sentence in section 3.11, and (2) perform that task two pages later in section 3.12.
(1) On page 60, the fifth paragraph of section 3.11 (starting with "Our AddTeamViewController..."), REMOVE the following sentence:
"Control click the File’s Owner to the “Navigation Item” and assign it to the File’s Owner’s navigationItem outlet."
As others have noted, this task cannot be performed until the class files have been created.
(2) Insert that sentence at the END of paragraph 2 in section 3.12. Now it will work well (after defining the class in Xcode and making File's Owner set to AddTeamViewController.
Yay. :-)
--bitfool #35521: re: Simplest technical fix for "Can't connect File's Owner to Navigation Item" problem.
Two parts to this fix: (1) remove one sentence in s ...more...
|
B4.0
29-Oct-08
|
|
| 60 |
|
#35542: The reader is asked to link up the Navigation Item to the File's Owner's navigationItem outlet. This outlet isn't available at this stage as the File's Owner is set as a subclass of NSObject. We have to first create the AddTeamViewController class in InterfaceBuilder and set the File's Owner to that. The whole task of adding and linking up the Navigation Item would be better grouped with the linking the other outlets on the next page.--Martin Pilkington #35542: The reader is asked to link up the Navigation Item to the File's Owner's navigationItem outlet. This outlet isn't available at this stage as t ...more...
|
B4.0
30-Oct-08
|
|
| 60 |
|
#35572: The first complete paragraph of text says...
"Our AddTeamViewController views needs a title and a button to get back to the list of teams. Search for “Navigation Item” in the Inter face Builder library. Drag an instance into our AddTeamViewController Inspector window. Control click the File’s Owner to the “Navigation Item” and assign it to the File’s Owner’s navigationItem outlet."
This does not work for me. When I Control drag from the File's Owner it does not allow me to drop on the newly added Navigation Item, or in fact to any of the items in the AddTeamViewController IB inspector window. If I right click on File's Owner, there are no outlets or actions defined.
Perhaps you missed out some steps, like adding outlets and/or actions, assuming the reader would know to do them? I'm very new to iPhone development and frankly do not know how to fill in the steps that you might take for granted. However, when you specifically state "do this..." and it does not work, I get frustrated.
I am particularly frustrated at this because I've been trying for a long time to get a very simple iPhone app to do just this very simple task (slide in a new view controller to add an item to a table), and it just simply never works for me, even though you book and several other references all hint at the same thing. I'm obviously missing something so basic that no text ever describes it, but I do not know what it can be.
I'm using Xcode/IB 3.1.1. although I hope that it has not changed too much from the version you are using. What version of Xcode/IB are you using to validate your example code? #35572: The first complete paragraph of text says...
"Our AddTeamViewController views needs a title and a button to get back to the list of teams. ...more...
|
B4.0
01-Nov-08
|
|
| 61 |
|
#34836: needed an #import "AddteamViewController.h" in RootViewController.m
|
B2.0
04-Oct-08
|
|
| 61 |
|
#36156: "Text Traits" should actually be "Text Input Traits"--Tim Trautmann
|
B6.0
28-Nov-08
|
|
| 61 |
|
#35911: In the paragraph beginning 'Our AddTeamViewController...' you can not 'Control click the File's Owner to the "Navigation Item"...' until you have created the controller class in XCode and set File's Owner type to the controller type. Nothing happens when you control click.--David W. Robinson #35911: In the paragraph beginning 'Our AddTeamViewController...' you can not 'Control click the File's Owner to the "Navigation Item"...' until you h ...more...
|
B5.0
15-Nov-08
|
|
| 61 |
|
#36205: I found this confusing "Control click the File’s Owner to the “Navigation Item” and assign it to the File’s Owner’s navigationItem outlet." I think it should be expanded - something like "Control click the File Owner Icon to display it's outlets. Drag the NavigationItem outlet to the the Navigation Item.--Chuck Nichols #36205: I found this confusing "Control click the File’s Owner to the “Navigation Item” and assign it to the File’s Owner’s navigationItem outlet." I ...more...
|
B6.0
30-Nov-08
|
|
| 61 |
|
#36086: The errors people are focusing on here can be easily corrected if y'all add an extra step on page 61. Just say to set file's owner (for AddTeamViewController.xib) to RootViewController et voilla! -- instant access to that handy (inherited) navigationItem outlet.--Richard Kendall Wolf #36086: The errors people are focusing on here can be easily corrected if y'all add an extra step on page 61. Just say to set file's owner (for AddTea ...more...
|
B6.0
23-Nov-08
|
|
| 61 |
|
#36087: Never mind my previous post. I read a bit farther and I think I see where you guys are going with this. You guys are missing some key steps just about here. :)--Richard Kendall Wolf #36087: Never mind my previous post. I read a bit farther and I think I see where you guys are going with this. You guys are missing some key steps ju ...more...
|
B6.0
23-Nov-08
|
|
| 62 |
|
#34854: It might be helpful here to mention that setting the delegate and the return button for the keyboard can be done in IB.--Patrick Burleson
|
B2.0
04-Oct-08
|
|
| 62 |
|
#35573: In Figure 3.13, where does the AddTeamViewController File's Owner Received Action "addTeam" come from? It is not mentioned anywhere prior to showing up here. #35573: In Figure 3.13, where does the AddTeamViewController File's Owner Received Action "addTeam" come from? It is not mentioned anywhere prior to s ...more...
|
B4.0
01-Nov-08
|
|
| 63 |
|
#35171: In the viewDidLoad method, you set the UITextField delegate and return key type on the text field programmatically when both can be set easily in IB, the latter through the same technique shown in the previous chapter and the former through a simple control-drag from the text field to the File's Owner object in the inspector. I think it would be better to do everything possible through IB.--Christopher Roach #35171: In the viewDidLoad method, you set the UITextField delegate and return key type on the text field programmatically when both can be set easily ...more...
|
B3.0
12-Oct-08
|
|
| 63 |
|
#35462: Last paragraph unclear why I am doing the steps indicated. would prefer longer explanation or discussion.
Thanks
Greg--Greg Robertson
|
B3.0
26-Oct-08
|
|
| 63 |
|
#35025: "With the delcartion added" should probably read "With the declaration added" in the second-to-last paragraph.
|
B2.0
08-Oct-08
|
|
| 63 |
|
#35564: The use of "delegate" as an instance var is misleading. True delegates are not retained and their methods are described in a protocol and checked in runtime. Here we do not have a "classical" Delegate pattern. Much better will be to call it something like tableViewController--Georg Tuparev #35564: The use of "delegate" as an instance var is misleading. True delegates are not retained and their methods are described in a protocol and chec ...more...
|
B4.0
01-Nov-08
|
|
| 64 |
|
#34980: I think this chapter could use a simulator screenshot of the add team view showing the text field and the navigator item. --Todd Breiholz
|
B2.0
07-Oct-08
|
|
| 64 |
|
#35319: The sample program doesn't work as printed.
The following line:
indexPath = [NSIndexPath indexPathForFow:[teams indexOfObject:teamName] inSection:0];
gives a compilation warning:
/Users/Frank/Documents/iPhone Projects/BasketballTeams/Classes/RootViewController.m:201: warning: 'NSIndexPath' may not respond to '+indexPathForFow:inSection:'
and also at runtime it crashes at that point.
I do see - in the documentation - that the method +indexPathForRow:inSection: is part of the NSIndexPath UIKit Additions. That might give a clue what to change to make the sample compile and work.--Frank van Leeuwen #35319: The sample program doesn't work as printed.
The following line:
indexPath = [NSIndexPath indexPathForFow:[teams indexOfObject:teamName] ...more...
|
B2.0
17-Oct-08
|
|
| 64 |
|
#34810: "That was a bit of work but we’re done with _everyone_ we have to do to
add a new team to the list."
Should be 'everything' I suppose.--Nicky Peeters
|
B2.0
04-Oct-08
|
|
| 65 |
|
#35170: In the code sample, rather than calling the tableView method directly, why not use the tableView property instead? So, the code for notifying the UITableView object of a change would look like:[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; --Christopher Roach #35170: In the code sample, rather than calling the tableView method directly, why not use the tableView property instead? So, the code for notifying ...more...
|
B3.0
12-Oct-08
|
|
| 67 |
|
#35577: The new version of Mail.app has a different way of deleting messages - checkboxes and a global delete button.--Georg Tuparev
|
B4.0
02-Nov-08
|
|
| 68 |
|
#34866: If the title @property set in the code sample at the top of the page is defined as the rest of the properties discussed so far:
@property (nonatomic, retain) NSString *title;
then this sample will leak. Either an assign property, autoreleasing the string or explaining that memory management is ignored here would fix that. #34866: If the title @property set in the code sample at the top of the page is defined as the rest of the properties discussed so far:
@property (no ...more...
|
B2.0
05-Oct-08
|
|
| 69 |
|
#34888: "Once saved, go set File’s Owner to be PlayersTableViewController." - being a beginner, I have no idea how to do that, so I imagine you're asking me to check some text previously - be nice to let me know where I can read about it (again - because I forgot).
Same goes for "Assign that table view to be File’s Owner’s view outlet." - yep, no idea...--Damian Haslam #34888: "Once saved, go set File’s Owner to be PlayersTableViewController." - being a beginner, I have no idea how to do that, so I imagine you're ask ...more...
|
B2.0
05-Oct-08
|
|
| 69 |
|
#35273: In the second paragraph of 4.3 "The Back Button" theres a sentence that reads:
"...you create a new instance of
the appropriate view controller class and then pop it onto your navi-
gation controller’s stack of view controllers using the navigation con-
troller’s pushViewController:animated: method"
I believe what was meant to say is that you PUSH it onto the navigation controller's stack of views. Popping it would be going back in the hierarchy, but what is described here is pushing a view from a selected item.--Felipe Laso #35273: In the second paragraph of 4.3 "The Back Button" theres a sentence that reads:
"...you create a new instance of
the appropriate view cont ...more...
|
B3.0
15-Oct-08
|
|
| 70 |
|
#35164: the first line of page 70 reads:
"The main task of our navigation control is to maintain the stack of
view controllers."
I believe it is a NAVIGATION CONTROLLER, not navigation control.--Felipe Laso #35164: the first line of page 70 reads:
"The main task of our navigation control is to maintain the stack of
view controllers."
I believe it ...more...
|
B3.0
12-Oct-08
|
|
| 70 |
|
#35193: "We want a table view in this case, so delete the view and replace it with a UITableView."
It would be helpful to be more explicit about how to perform this step. Deleting the view object and adding another view object does not change the view object from the default one provided by IB. Instead, one can set the class of the view to be UITableView in the Identity tab for the view object.--EY #35193: "We want a table view in this case, so delete the view and replace it with a UITableView."
It would be helpful to be more explicit about ho ...more...
|
B3.0
13-Oct-08
|
|
| 70 |
|
#35196: Would be helpful to note to readers that if one does not see the "view" outlet after assigning the File's Owner to be PlayersTableViewController (so that one cannot assign the table view to be the File Owner's view outlet), then one has forgotten to specify that PlayersTableViewController is a subclass of UITableViewController (since Xcode makes it a subclass of UIViewController by default).--EY #35196: Would be helpful to note to readers that if one does not see the "view" outlet after assigning the File's Owner to be PlayersTableViewControll ...more...
|
B3.0
13-Oct-08
|
|
| 70 |
|
#35547: The code example for setting a nav item's title seems to have a memory leak. Setting self.title should retain the NSString, which if created using alloc/init will already have a retain count of 1. You ideally want to autorelease or just use +stringWithFormat:--Martin Pilkington #35547: The code example for setting a nav item's title seems to have a memory leak. Setting self.title should retain the NSString, which if created u ...more...
|
B4.0
30-Oct-08
|
|
| 71 |
|
#34847: Before starting in with Section 4.7 you also need to add:
#import "PlayersTableViewController.h"
to the top of RootViewController.m--Kevin Runde
|
B2.0
04-Oct-08
|
|
| 71 |
|
#34855: Move figure 4.2 after the start of section 4.7. It seems out of place at the end of section 4.6.--Patrick Burleson
|
B2.0
04-Oct-08
|
|
| 71 |
|
#35176: Need to get rid of the creation of the PlayersTableViewController in code and move it to the nib file.--Bill Dudney
|
B3.0
12-Oct-08
|
|
| 71 |
|
#36212: pop it onto your navigation controller’s stack of view controllers using the navigation controller’s pushViewController:animated: method
--This should read "push it onto your navigation controller" as pop is used in the method to remove the view.--Marcus S. Zarra #36212: pop it onto your navigation controller’s stack of view controllers using the navigation controller’s pushViewController:animated: method
-- ...more...
|
B6.0
01-Dec-08
|
|
| 71 |
|
#36213: pop it onto your navigation controller’s stack of view controllers using the navigation controller’s pushViewController:animated: method
--This should read "push it onto your navigation controller" as pop is used in the method to remove the view.--Marcus S. Zarra #36213: pop it onto your navigation controller’s stack of view controllers using the navigation controller’s pushViewController:animated: method
-- ...more...
|
B6.0
01-Dec-08
|
|
| 72 |
|
#35197: "You could run this code now but your player’s table view will be empty because we haven’t implemented its UITableViewDataSource methods yet."
This above sentence seems to discourage readers from trying to run the code. It seems to imply that it would not be worthwhile to try running the code now. It would be better to rephrase it so that it encourages readers to run it (and therefore debug up to this point).
As noted in #34847 for B2.0, you need to add
#import "PlayersTableViewController.h"
to the top of "RootViewController.m"
in order to be able to run the code.
This should probably be mentioned and shown at the beginning of 4.6 (on the previous page).
--EY #35197: "You could run this code now but your player’s table view will be empty because we haven’t implemented its UITableViewDataSource methods yet." ...more...
|
B3.0
13-Oct-08
|
|
| 72 |
|
#35987: Third paragraph ends "Next we'll create the interface for this table view controller." This sentence should come after the following code as I initially thought the following code was creating the interface, whereas it is in fact the code to add the variable 'team'. #35987: Third paragraph ends "Next we'll create the interface for this table view controller." This sentence should come after the following code as I ...more...
|
B5.0
19-Nov-08
|
|
| 73 |
|
#36251: Section 4.6 Pushing View Controller onto the stack does not indicate to add an import statement to the RootViewController. Running the code after completing 4.6 causes an error.
Need to add #import "PlayersTableViewController.h" to RootViewController.m
--Robert Mirabito #36251: Section 4.6 Pushing View Controller onto the stack does not indicate to add an import statement to the RootViewController. Running the code af ...more...
|
B6.0
02-Dec-08
|
|
| 74 |
|
#35110: MyIdentifier is a variable, not a class, so shoud be myIdentifier and not MyIdentifier (should start with lower case letter)--Povl H. Pedersen
|
B3.0
11-Oct-08
|
|
| 74 |
|
#35922: Section 4.7 seems out of place to me, wouldn't it be better to do handle it in chapter 3 along with the rest of the table view stuff?
I feel it kind of distracts from the navigation stuff handled in chapter 4...--Bas van Klinkenberg #35922: Section 4.7 seems out of place to me, wouldn't it be better to do handle it in chapter 3 along with the rest of the table view stuff?
I feel ...more...
|
B5.0
16-Nov-08
|
|
| 75 |
|
#35586: Don't mean to be so nit picky here but ...
UITableViewCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
Can be condensed to...
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
That is all! As always great job and please keep up the good work. You are all awesome :)--Kent Fenwick #35586: Don't mean to be so nit picky here but ...
UITableViewCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
...more...
|
B4.0
02-Nov-08
|
|
| 76 |
|
#34898: "Control-click the Navigation Item. Notice the three button related outlets: backButtonItem, leftButtonItem and rightButtonItem." at the bottom of the page is missing the "Bar" bit out of the outlets - should be:
backBarButtonItem, leftBarButtonItem and rightBarButtonItem--Damian Haslam #34898: "Control-click the Navigation Item. Notice the three button related outlets: backButtonItem, leftButtonItem and rightButtonItem." at the botto ...more...
|
B2.0
05-Oct-08
|
|
| 76 |
|
#36070: Top of the page, middle of first paragraph: implmentation (missing an 'e')--Lee Hericks
|
B6.0
23-Nov-08
|
|
| 77 |
|
#35843: My iPhone is on O2 in Ireland, and we don't have Visual Voicemail here, so the example quoted in the foonote doesn't work for me. Hitting the Voicemail tab just dials the Voicemail number here,--Dave Guerin #35843: My iPhone is on O2 in Ireland, and we don't have Visual Voicemail here, so the example quoted in the foonote doesn't work for me. Hitting the ...more...
|
B4.0
12-Nov-08
|
|
| 77 |
|
#35425: Somewhere in the description it would be useful to mention that the new Bar Button Item should be control clicked and connected to the File's Owner for the editButtonWasPressed action--Michael McCarty #35425: Somewhere in the description it would be useful to mention that the new Bar Button Item should be control clicked and connected to the File's ...more...
|
B3.0
23-Oct-08
|
|
| 78 |
|
#34851: The end of the second paragraph of the Using a ready-made button section says "... list of basketball teams in the (as yet) unwritten sec.deletingRows." That section exists now so you may want to update this.--Kevin Runde #34851: The end of the second paragraph of the Using a ready-made button section says "... list of basketball teams in the (as yet) unwritten sec.dele ...more...< |