Scott Stevenson從事Cocoa應(yīng)用開發(fā)八年,此外還擁有六年相關(guān)教學(xué)經(jīng)驗(yàn)。他曾創(chuàng)建了風(fēng)靡一時(shí)的Mac編程博客Theocacao,并且于2003年接手Cocoa Dev Central,成為主筆和編輯。他在硅谷組織了多場Cocoa Heads會議,并發(fā)表演講。
圖書目錄
Preface 1. Setup and First Run Download and Install Xcode Your First Application Create the Interface Run the Finished Application 2. 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 Up 3. 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 Example 4. Thinking in Objects Structs and Classes Designing Classes Accessors Inheritance Composition Object Lifetime Built-in Classes 5. 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: Photolnfo 6. 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 Run 7. 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 CFDateRef 8. 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 Bindings 9. 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 Release 10. 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 StyledImageView 11. The Final Word The List Websites Last Thought Index