出版时间:2010-10 出版社:东南大学出版社 作者:史蒂文森 页数:396
Tag标签:无
内容概要
为Mac、iPhone和iPad打造健壮的应用程序,无论你是只有基本的编程技能,还是有多年的开发经验。在本书中,你将通过循序渐进的教程、亲身实践的练习、简明扼要的范例,以及来自Cocoa专家的谆谆教诲,学会如何运用Apple的Cocoa框架和lObiective—C语言。 《Cocoa与ObjectiVe—c:构建与运行》给你打下充分的理论基础,然后向你展示如何使用Apple的快速开发工具——Xcode和InterlfaceBuilder,来开发Cocoa应用程序、管理用户交互、创建很棒的UI等等。你将迅速获得开发高级软件所需的经验,无论你是编程新手还是该平台的入门用户。
作者简介
Scott Stevenson从事Cocoa应用开发八年,此外还拥有六年相关教学经验。他曾创建了风靡一时的Mac编程博客Theocacao,并且于2003年接手Cocoa Dev Central,成为主笔和编辑。他在硅谷组织了多场Cocoa Heads会议,并发表演讲。
书籍目录
Preface1. Setup and First Run Download and Install Xcode Your First Application Create the Interface Run the Finished Application2. Thinking in Code: Basic C How Code Works How to Format Code Variables Types Constants Enumerated Types Typedefs Functions Declaring Functions Example: FirstProgram Displaying Values on the Command Line Compile and Run the Example Scope Static Variables Conditionals Example: ShoppingTrip Compile and Run Wrap Up3. Memory and Pointers: Advanced C Arrays Loops Text Strings Multidimensional Arrays Pointers The Purpose of Pointers Using Pointers Pointers and the const Keyword Dynamic Memory Strings and Dynamic Memory Returning Strings from Functions Arrays of Strings Example: AddressBook Compile and Run the AddressBook Example Structs Header Files Compile and Run the HeaderFileTest Example Create Files for the Song Struct Final Example4. Thinking in Objects Structs and Classes Designing Classes Accessors Inheritance Composition Object Lifetime Built-in Classes5. Basic Objective-C NSString Basics Using Methods Nested Method Calls Multi-Input Methods Accessors Dot Syntax Creating Objects Basic Memory Management Using Autorelease Directly Declaring a Class Add Methods Implementing a Class init dealloc Example: Photolnfo6. More Objective-C More on Memory Management The Life of an Instance Variable Copying Objects Class Name Prefixes Properties Property Options 64-Bit Objective-C Enabling 64-Bit Should I Use 64-Bit? All Further Examples Assume 64-Bit Categories Categories for Private Methods Introspection Protocols Dynamic Messaging Using Selectors to Call Methods Forwarding Messages Exceptions Example: DataCollector Some New Classes and Methods Create the Files Build and Run7. Foundation Value Classes NSString Ranges and Substrings Using NSString with C Types Comparing Strings for Equality Strings As File Paths Reading and Writing Files with Strings Mutability Advantages of Mutability Advantages of Immutability Core Foundation Memory Management Core Foundation Mutability Toll-Free Bridging Core Foundation Types As Properties Drawbacks of Core Foundation Types Open Source NSNumber CFNumberRef Cocoa Primitive Types NSDecimalNumber NSNumberFormatter When to Use Which Number Type NSData NSMutableData NSArray Fast Enumeration Blocks NSMutableArray CFArrayRef NSIndexSet NSDictionary NSMutableDictionary CFDictionaryRef NSSet NSMutableSet NSValue NSDate CFDateRef8. Basic C0ntr01s How to Use This Chapter Windows and Views Targets and Actions Buttons Declaring Action Methods Connecting Actions Menus Responder Chain Pop-up Buttons Sliders Text Fields Outlets Datasources Table View Datasource Methods Implementing Datasource Methods Bindings Key-Value Protocols Bindings for Simple Controls Bindings for Complex Controls Tips for Debugging Bindings9. Designing Applications Using MVC About This Project Window Controllers View Controllers Core Data Create the Project Files Create the Entities Add Attributes and Relationships Update the App Delegate Add the Quartz Framework Create the Window Controller Create the View Controllers Create the Managed Object Classes Create the User Interface Remove the Default Window Create the Main Window Interface Create the Browser Interface Create the Editor View Interface Create the List View Interface Run the Application Preparing for Release10. Custom Views and Drawing Basic Geometry Geometry Structs As Strings Geometry Structs As NSValues Cocoa View Coordinates Derived Rects Comparison Functions Basic Drawing NSColor Subclassing NSView Instantiate the View The Graphics Context Bezier Paths Drawing Polygons Drawing Curved Paths Images Loading Image Data Drawing Images in a View Shadows Add a Shadow to StyledlmageView Gradients Drawing a Gradient Background Drawing an Image Sheen, Refactoring View Code Why You Should Refactor Goals for Refactoring Refactored Header Refactored Implementation Test the Refactored Version Text Fonts Attributed Strings Add a Title to StyledlmageView Handling Mouse and Keyboard Events Keyboard Events Mouse Events Add Event Support to StyledImageView11. The Final Word The List Websites Last ThoughtIndex
章节摘录
插图:AcknowledgmentsMy education didn't follow the normal path. I taught myself how to program and learned how to run a business mostly by trial and error. In the end, I think this is the only option that would have worked for me, but it was possible only because of my extremely patient and understanding family: my morn, Peggy; my dad, Alan; and my sister, Jamie. You would not be reading this now if it was not for their support. There are so many people that have helped me in my work life, but there are a few that have had a direct impact on this book.Michael Lopp and Angela Muller were ongoing sources of encouragement and inspiration. This book first came into being over lunch when Michael mentioned something along the lines of “everyone wants an animal on the cover of their book,” referring to the iconic O'Reilly covers. By incredible coincidence, Brian from O'Reilly emailed me about two weeks later. Had Michael not made that comment, this might not have happened.I had world-class tech reviewers for this project: Joar Wingfors, Michael Jurewitz, Rob Rhyne, and Tim Triemstra. Joar, who I originally met through the tutorials I posted online, tirelessly reviewed an ever-changing book, provided a wealth of essential com- ments and suggestions, and even helped me fix some bugs in the code. He,s one of the most talented engineers I know, and I am thrilled to have been able to get his help on this.Though he wasn't involved in this project, I owe a lot to John Mora. He has an ability to look an impossibly large task in the face and just do it, despite the usual doubts about whether you know enough or have enough time. It is one of the most impressive traits I know of, and John has it in spades. Thankfully, I think some of that rubbed off on me over the 15 years I've known him.Thanks to Kip Krueger for patiently helping me figure out the low-level details of memory and offering pointers when I was learning C. His mentoring is the reason I'm able to teach these topics to you now.
媒体关注与评论
“我刚开始在Mac上做开发时,就已是Scott的著作的读者。这本书提供的建议十分隽永,必将有益于读者。” ——Rob Rhyne技术评论家和Briefs开发者
编辑推荐
《Cocoa与Objective-C:构建与运行(英文)(影印版)》:获得C语言编程基础技能的快速实践导览,学习如何使用Interface Builder快速设计并构建应用的用户界面原型,通过创建对象和学习内存管理,开始使用Objective-C,学习用于对象之间共享数据的模型-视图-控制器(MVC)方法,理解基础值类,这是Cocoa存储一般数据类型的健壮API, 熟悉Apple的图形框架,并且学习如何用AppKit制作定制视图。
图书封面
图书标签Tags
无
评论、评分、阅读与下载