iOS 4 SDK入门——给JavaScript程序员(影印版)
Danny Goodman
出版时间:2011年06月
页数:297
JavaScript程序员有没有可能学习Apple的iOS 4 SDK编程并且坚持到成功一刻呢?技术大师Danny Goodman做到了这一点,而且留下了这本有着清晰足迹可以让你跟随的书。作为自JavaScript诞生之日起就是权威专家的Goodman清楚你在使用SDK创建本地iOS应用时会遇到的挑战,他使用一种你容易理解的上下文来介绍Xcode、Objective-C和Cocoa Touch。
当你能够简单地为Apple的iOS设备创建Web应用时,你为什么还需要顾虑SDK呢?这是因为Web应用无法访问iPhone的音乐库、相机,或者为地图、音频以及其他东西设计的iOS系统软件。你也无法在应用商店里销售Web应用。如果你希望发挥iPhone和iPad的全部优势,iOS 4 SDK就是你所需要的工具——而本书就是你所需要的参考书。

· 了解Web应用和iOS本地应用编程的差异
· 创建一个工作台应用来测试贯穿整个学习过程的代码段
· 理解iOS应用的结构,比较通过Objective-C和JavaScript搭建对象的过程
· 揭示你的代码如何启动iOS应用并让它们准备就绪
· 学习iOS内存管理,以及与JavaScript编程有所差异的Objective-C指针和数据类型
· 使用Objective-C和Cocoa Touch实现常见的JavaScript任务

“每一个有Web开发背景并且希望进入到本地应用编程的人都应该跟随Danny调查好的方法来学习这个平台。这是任何一个有经验的期待展开AppStore之旅的JavaScript程序员的最佳指南。”
——Todd Moore,White Noise应用的创建者

Danny Goodman写了将近40本书和数以百计的在个人电脑以及消费性电子杂志上的文章。最近,他正在从事iPhone和iPod touch应用的开发工作,包括iFeltThat Earthquake、PhotoSize和BeaconAid-HF。

适用于有编程经验的读者
  1. Preface
  2. 1. Why Go Native?
  3. Using an App Offline
  4. More Access to the Hardware
  5. More Access to the Software
  6. What You Lose
  7. Distribution
  8. Apple iOS Developer Program
  9. Content
  10. Authoring Platform Choices
  11. Taking the Plunge
  12. 2. Welcome to the iOS SDK
  13. Hardware and OS Requirements
  14. Installing the SDK
  15. About iOS Developer Programs
  16. Inside the SDK
  17. Viewing Developer Documentation
  18. Loading Code Samples
  19. Setting the Project’s Base SDK
  20. Trying the iOS Simulator
  21. Coming Up
  22. 3. Creating a Test Workbench
  23. Creating the Project in Xcode
  24. Selecting a Project Type
  25. Naming and Saving the New Project
  26. Welcome to Your Project
  27. Editing Your First Files
  28. What the runMyCode: Method Does
  29. Building the User Interface
  30. Adding a Button to the View
  31. Connecting the Button
  32. Going for a Test Ride
  33. Congratulations
  34. 4. Structural Overview of an iOS App
  35. Where It All Begins: APIs
  36. APIs You Already Know
  37. The Cocoa Touch APIs
  38. Frameworks
  39. Foundation Framework
  40. UIKit Framework
  41. CoreGraphics Framework
  42. Adding Frameworks
  43. Frameworks Set in Stone
  44. Welcome to Class Files
  45. The JavaScript Way
  46. The Objective-C Way
  47. Header File Details
  48. Using Xcode to Create DGCar Class Files
  49. Editing the @interface Section
  50. Message Passing
  51. Editing the @implementation Section
  52. Integrating the DGCar Class into Workbench
  53. Creating Object Instances
  54. NSLog() and String Formats
  55. Running the Code
  56. What About Accessing Instance Variables?
  57. Recap
  58. 5. App Execution Flow
  59. Some C Language Roots in an iOS App
  60. An Introduction to Delegates
  61. How UIApplication Appoints Its Delegate
  62. The App’s Info.plist File
  63. Inside MainWindow.xib
  64. iPhone App Development Design Patterns
  65. The Model-View-Controller Design Pattern
  66. Other Design Patterns
  67. The Importance of Views
  68. The App Window—UIWindow
  69. Adding Another View to Workbench
  70. Recap
  71. 6. Central Objective-C Concepts: Pointers, Data Types, and Memory Management
  72. Pointers
  73. Pointers and Memory
  74. Pointers and Objective-C Variables
  75. Pointer Notation
  76. Determining Pointer Usage
  77. Data Typing
  78. Objective-C Data Types
  79. Cocoa Touch Data Types
  80. Objective-C Variable Declarations
  81. Objective-C Method Declarations
  82. The id Data Type
  83. Converting Objective-C Data Types
  84. Memory Management
  85. Cleaning Up After Yourself
  86. The Retain Count
  87. Autorelease Pools
  88. Observing Memory Usage
  89. Recap
  90. 7. C Language Fundamentals
  91. Variable Names
  92. Variable Scope
  93. Instance Variables
  94. Local Variables
  95. Local Variables in Control Structure Blocks
  96. Static Local Variables
  97. Global Variables
  98. Constant Values
  99. Functions
  100. C Structures
  101. C Arrays
  102. Enumerated Types
  103. Operators
  104. Program Flow Constructions
  105. Boolean Values
  106. Math Object Equivalents in C
  107. Inserting Comments
  108. Recap
  109. 8. Objective-C/Cocoa Touch Fundamentals
  110. More About Classes
  111. Temporary Objects
  112. Subclassing Framework Classes
  113. Defining Your Own Custom Subclasses
  114. Adding to a Class Without Subclassing—Categories
  115. Real Classes in Real Action
  116. TheElements Overview
  117. TheElements Class File Structure
  118. Class Properties
  119. Specifying Properties in the Header File
  120. Synthesizing Properties in the Implementation File
  121. Using Properties
  122. Properties in Framework Classes
  123. About NSString
  124. Creating an NSString
  125. JavaScript String Method Equivalents in Objective-C
  126. NSMutableString
  127. About NSArray
  128. Creating an NSArray
  129. Retrieving Array Elements
  130. JavaScript Array Method Equivalents in Objective-C
  131. NSMutableArray
  132. About NSDictionary
  133. Creating an NSDictionary
  134. Retrieving Dictionary Entries
  135. NSMutableDictionary
  136. Arrays and Dictionaries in Action
  137. Recap
  138. 9. Common JavaScript Tasks in Cocoa Touch
  139. Formatting Numbers for Display
  140. Preformatted Number Styles
  141. Rounding Numbers for Display
  142. Creating a Date Object
  143. Adding a UIDatePicker to Workbench
  144. Understanding NSDate
  145. Creating a Date Object for a Specific Date
  146. Extracting Components from an NSDate Object
  147. Creating NSDate Objects from Strings
  148. Converting an NSDate to a String
  149. Calculating Dates
  150. 10 Days in the Future
  151. Days Between Dates
  152. Comparing Dates
  153. Downloading Remote Files Asynchronously
  154. Example Project
  155. Creating the Request
  156. Initializing the NSMutableData Object
  157. Delegate Methods
  158. Downloading Only When Needed
  159. Accounting for Fast App Switching
  160. Reading and Writing Local Files
  161. iOS App Directories
  162. Obtaining Directory Paths
  163. Obtaining Paths to Files Delivered with Your App
  164. Writing Files to Disk
  165. Reading Files from Disk
  166. Writing and Reading Property List Files
  167. Performing File Management Tasks
  168. Sorting Arrays
  169. Sorting with a Selector
  170. Sorting with a Function
  171. Sorting Arrays of Dictionaries with NSSortDescriptor
  172. Capturing User-Entered Text
  173. The Code Portion
  174. The Interface Builder Portion
  175. Validating Text Entry with Regular Expressions
  176. Modifying the Code
  177. Modifying the User Interface
  178. Using Regular Expressions for Text Search and Replace
  179. Dragging a View Around the Screen
  180. The Code Portion
  181. The Interface Builder Portion
  182. Recap
  183. A. Getting the Most from Xcode Documentation
  184. B. Common Beginner Xcode Compiler Errors
  185. Glossary
  186. Index
书名:iOS 4 SDK入门——给JavaScript程序员(影印版)
作者:Danny Goodman
国内出版社:东南大学出版社
出版时间:2011年06月
页数:297
书号:978-7-5641-2710-7
原版书书名:Learning the iOS 4 SDK for JavaScript Programmers
原版书出版商:O'Reilly Media
Danny Goodman
 
Danny Goodman从20世纪70年代末就开始撰写关于个人电脑和商业电子产品的内容。2006年是他的自由撰稿人和程序员生涯的第25年,这些年来他发表了数百篇杂志文章,几个商业软件产品,以及包括本书在内共45本计算机书籍。多年来,他在HyperCard、AppleScript、JavaScript和DynamicHTML方面的著作广为流传,这些书籍提供了非专业程序员也能使用的编程环境,而强大的内容也吸引了许多专家。他的《Dynamic HTML: The Definitive Reference》已经出了第3版,是O'Reilly销量最好的书籍之一。
 
 
The dog on the cover of Learning the iOS 4 SDK for JavaScript Programmers is a King
Charles Spaniel. Today’s Cavalier King Charles Spaniel is descended from a small,
“toy” type of spaniel that was popular in 16th-century England. King Charles II, from
whom the breed gets its name, was so fond of these dogs that he decreed that they were
to be allowed in any public place, and it was said that “His Majesty was seldom seen
without his little dogs.” These spaniels were often referred to as “Comforters”; in the
winter, a noble lady riding in a carriage was likely to keep a spaniel in her lap for warmth.
While used by some for hunting small game, the King Charles Spaniel was typically
valued for its companionship and considered more of a luxury item than a utilitarian
pet.
Today’s King Charles Spaniel emerged in part from interbreeding with the pug—which
was in fashion in England during the reign of King William III and Queen Mary II—
and the longer-nosed spaniels Charles II was so fond of. Their pointed noses, flat heads,
and almond-shaped eyes were replaced with the shorter muzzles, domed skulls, and
large, round eyes that characterize them today. The turn of the 20th century saw a final
attempt to revive the breed as it existed during King Charles’s time, but the modern
King Charles Spaniel—named “Cavalier King Charles Spaniel” by the Cavelier Club in
1928—persisted. During World War II, the breed declined significantly (with one registered
kennel dropping from 60 to 3 Caveliers), but regained popularity after the war
and throughout the 1940s.
Today, the Cavalier King Charles Spaniel is gaining popularity worldwide. There are
national Cavalier breed clubs in about a dozen countries, including Finland, Italy, New
Zealand, and South Africa. The Kennel Club reports that the Cavalier was the sixth
most popular dog in the UK in 2007, and according to statistics from the American
Kennel Club, they were the 25th most popular in the US in 2008, particularly in San
Francisco, New York City, Boston, and Washington, D.C..