- Taschenbuch: 464 Seiten
- Verlag: Mcgraw-Hill Professional; Auflage: 1 (1. September 2009)
- Sprache: Englisch
- ISBN-10: 0071626492
- ISBN-13: 978-0071626491
- Größe und/oder Gewicht: 23 x 18,7 x 2,4 cm
- Durchschnittliche Kundenbewertung: Schreiben Sie die erste Bewertung
- Amazon Bestseller-Rang: Nr. 2.259.577 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
- Komplettes Inhaltsverzeichnis ansehen
iPhone SDK Programming - A Beginner's Guide (Beginner's Guides (McGraw-Hill)) (Englisch) Taschenbuch – 1. September 2009
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Wenn Sie dieses Produkt verkaufen, möchten Sie über Seller Support Updates vorschlagen?
Über den Autor und weitere Mitwirkende
James A. Brannan is a J2EE Java developer and a Mac OS X shareware developer.
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta) (Kann Kundenrezensionen aus dem "Early Reviewer Rewards"-Programm beinhalten)
Personally, i like this book.
I'm referring to the Kindle version of the book, but I suppose these errors are in the hard copy as well.
- the code presentation, whilst using monospaced font, uses short indentation (usually two spaces) and makes almost no use of whitespace lines to separate methods, declarations etc. Conversely, methods are written with extra inline spaces in places where there usually is none.
- there is an underlying assumption that the reader will be familiar with Java, with many references such as "Java does x", or "Java doesn't do y" etc.
- inconsistent use of the terms 'function' and 'method' which should really be kept quite separate at this level.
[- there is no @package compiler directive in Obj-C (p47). Furthermore, even bringing in @private, @public, and @protected at the start of the book needlessly complicates things.]
[NOTE: this was an error on my part, and I apologize for that. There is indeed an @package directive for 64-bit implementations. This is covered in some Apple docs, but not in others (see discussion thread below for further comments)].
- the chapter on C, whilst it would make a useful appendix if it was written well, is billed as a refresher. Some, perhaps many, people coming to iPhone programming may have some Java experience, but it's a fair bet that many do not have C experience and really need a different treatment than a C 'refresher'.
- needless disquisition on C pointers etc. It would be fair to discuss the asterisk syntax in Obj-C and mention that it relates to C pointers, but the new programmer is probably well served to treat classes and objects in Cocoa/Obj-C at their face vaue as OO constructs and not bother digging too deeply into their C antecedents until they're well advanced in their studies.
- there is a tendency to explain points - sometimes quite intricate points - using the same kind of language and technical wording as is made in the original point.
- there is no need to go into the definition of Obj-C categories in the early part of the book - it's too much, too soon. The same point applies somewhat to discussion of dynamic binding, dynamic typing, method overloading, method overriding, inheritance (yes, they can be covered but the approach taken is really quite blunt and seems to assume a lot of background knowledge).
- wordy, and ultimately very confusing, discussion of why using @property/@sythesize (more generally, accessors/mutators) helps with memory management. The underlying point is valid but the choice of when and how to tackle it seems quite misguided.
In marked contrast to three other books* in the beginner category I feel this author fails to empathize with his target audience or really understand what their aims are and where their conceptual problems might lie. There is an awkwardness and distance in the treatment of the subject and a tendency to 'throw the kitchen sink' at the reader that I think could really cause some problems down the road.
The really annoying stuff:
- comments about MM on p9: "You can use something called autorelease, which makes memory management a little easier, but even autorelease is not recommended". Autorelease isn't about making memory management easier, per se, but even then the author goes on to use it in contrived situations, despite warning against this (see below).
- using -retainCount method (p55) when it is widely understood to be of no use to the app programmer and cautioned against in the apple documentation (the author does put a note stating "there is no reason to call retainCount" but it is plainly misleading to state "I use retainCount to illustrate Objective-C memory management" - it's one of the worst ways to do this).
- setting up your own autorelease pool to bypass the supposed problems with memory management (p59). To get over the "tiresome and error-prone" manual managing of reference counts the author creates an autorelease pool, puts an object into it, and then releases the pool. All this instead of simply releasing the object itself after he has used it.
- in the protocols discussion (p74): "Remember, in Objective-C, you send a message and if nobody can handle the message, nothing happens." This is misleading, particularly if taken out of context. It's true that certain methods can be made optional in protocols (unlike, as we're told, with Java interfaces) so not implementing the optional methods will cause no harm. In general Obj-C terms, though, sending a message that can't be handled or forwarded will lead to a runtime crash.
There are enough half truths, misconceptions, inconsistencies and outright errors of fact in this book to really sow the seeds of confusion and doubt amongst its readership. I have returned my copy of the book to Amazon for a refund as I could not recommend it for any courses I teach.
*strongly recommend instead (any two of the three would give a good grounding with an alternate viewpoint):
Goldstein's Dummies book
Mark and LaMarche's iPhone dev book (SDK 3.0 version)
Pragmatic Programmers iPhone dev book (due to be released Sep '09; pdf has been available for many months)