Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cocoa and Objective-C: Up and Running
A Note Regarding Supplemental Files
Preface
Who This Book Is For
How This Book Is Organized
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
1. Setup and First Run
Download and Install Xcode
Your First Application
Create the Interface
Set sizing properties
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: PhotoInfo
6. More Objective-C
More on Memory Management
The Life of an Instance Variable
Copying Objects
Class Name Prefixes
Properties
Property Options
Options for accessor implementations
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
CFDataRef and CFMutableDataRef
NSArray
Fast Enumeration
Blocks
NSMutableArray
CFArrayRef
NSIndexSet
NSDictionary
NSMutableDictionary
CFDictionaryRef
NSSet
NSMutableSet
NSValue
NSDate
CFDateRef
8. Basic Controls
How to Use This Chapter
Windows and Views
Targets and Actions
Buttons
Declaring Action Methods
Connecting Actions
Connecting actions from the HUD
Connecting actions in code
Menus
Responder Chain
Two meanings of first responder
Pop-up Buttons
Sliders
Text Fields
Outlets
Datasources
Table View Datasource Methods
Implementing Datasource Methods
Bindings
Key-Value Protocols
Key-Value Coding
Bindings for Simple Controls
Connect the bindings
Run the application
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
Browser view controller
Editor view controller
List view controller
Create the Managed Object Classes
Implement the photo class
Implement the album class
Create the User Interface
Remove the Default Window
Add the album menu
Create the Main Window Interface
Set window sizing
Add controls
Set up bindings
Connect outlets and actions
Create the Browser Interface
Set up the album table
Set up the image browser
Set up bindings
Connect outlets
Create the Editor View Interface
Create the List View Interface
Set up bindings
Connect outlets
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
When to draw
Instantiate the View
Setting resizing values in code
The Graphics Context
Bezier Paths
Drawing Polygons
Drawing Curved Paths
Images
Loading Image Data
Loading an image from your project
Loading standard Cocoa artwork
Drawing Images in a View
Preserving aspect ratio
Shadows
Add a Shadow to StyledImageView
Gradients
Drawing a Gradient Background
Drawing an Image Sheen
Calculate the sheen path
Add sheen properties and methods
Refactoring View Code
Why You Should Refactor
Goals for Refactoring
Symmetry in practice
Refactored Header
Refactored Implementation
Test the Refactored Version
Text
Fonts
Attributed Strings
Paragraph styles
Text sizes and vertical alignment
Add a Title to StyledImageView
Handling Mouse and Keyboard Events
Keyboard Events
Mouse Events
Add Event Support to StyledImageView
11. The Final Word
The List
Websites
Last Thought
Index
About the Author
Colophon
← Prev
Back
Next →
← Prev
Back
Next →