Re: starting with Cocoa!
Re: starting with Cocoa!
- Subject: Re: starting with Cocoa!
- From: Matt Neuburg <email@hidden>
- Date: Sat, 22 Jan 2011 12:41:35 -0800
On Fri, 21 Jan 2011 14:55:38 +0800, Janos Syd Nepthali Pao <email@hidden> said:
>
>I'd like to ask for your hints, advice and words of wisdom --anything
>you can share for someone just beginning his journey here.
>
This is probably a reasonable moment for me to reveal that I've been writing a Cocoa / iOS programming book for O'Reilly since last May. The first draft is nearly done (less than another month, I expect). The book is available for advanced purchase in digital form as an Early Release, and at this point I could use some serious readers (an additional tech reader or two would also be great, get in touch with me if you're up for that).
http://oreilly.com/catalog/0636920010258/
I start all the way at the beginning - with C, then Objective-C - and built up through Cocoa conceptually and in practice, and on into the business of making things appear and happen in an iOS app. Of course there are limits to what I'm going to go into; we're threatening to run over 700 pages, and that's plenty. Here's the table of contents so far, just for the curious.
Preface
Just Enough C
Compilation, Statements, and Comments
Variable Declaration, Initialization, and Data Types
Structs
Pointers
Arrays
Operators
Flow Control and Conditions
Functions
Pointer Arguments and the Address Operator
Files
The Standard Library
More Preprocessor Directives
Data Type Qualifiers
Object-Based Programming
Objects
Messages and Methods
Classes and Instances
Class Methods
Instance Variables
The Object-Based Philosophy
Objective-C Objects and Messages
An Instance Reference is a Pointer
Messages and Methods
Typecasting and the id Type
Messages as Data Type
C Functions and Struct Pointers
Blocks
Objective-C Classes
Class and Superclass
Interface and Implementation
Header File and Implementation File
Class Methods
The Secret Life of Classes
Objective-C Instances
How Instances Are Created
Polymorphism
The Keyword self
The Keyword super
Instance Variables and Accessors
Key-Value Coding
Properties
How to Write an Initializer
Anatomy of an Xcode Project
New Project
The Project Window
The Project File and its Dependents
The Target
From Project to App
Nib Management
A Tour of the Nib-Editing Interface
Nib Loading and File’s Owner
Default Instances in the Main Nib File
Making and Loading a Nib
Outlets
Actions and Action Connections
Hintless Connections
Additional Initialization of Nib-based Instances
Documentation
The Documentation Window
Class Documentation Pages
Sample Code
Other Resources
Life Cycle of a Project
Choosing a Device Architecture
Localization
Editing Your Code
Navigating Your Code
Debugging
Clean All Targets
Running in the Simulator
Running on a Device
The Organizer Window
Instruments
Distribution
Ad Hoc Distribution
Final App Preparations
Submission to the App Store
Cocoa Classes
Subclassing
Categories
Protocols
Optional Methods
Some Foundation Classes
The Secret Life of NSObject
Cocoa Events
Reasons for Events
Subclassing
Notifications
Delegation
Data Sources
Actions
The Responder Chain
Swamped By Events
Accessors and Memory Management
Accessors
Key-Value Coding
Memory Management
Properties
Data Communication
Model–View–Controller
Instance Visibility
Notifications
Key-Value Observing
Views
The Window
Subview and Superview
Frame
Bounds and Center
Layout
Transform
Visibility and Opacity
Drawing
UIImage and UIImageView
UIImage
CGImage
Drawing a UIView
Graphics Context State
Paths
Clipping
Gradients
Colors and Patterns
Graphics Context Transforms
Shadows
Points and Pixels
Content Mode
Layers
View and Layer
Layers and Sublayers
Drawing in a Layer
Transforms
Shadows, Borders, and More
Layers and Key-Value Coding
Animation
Drawing, Animation, and Threading
UIImageView Animation
View Animation
Implicit Layer Animation
Core Animation
Actions
Touches
Touch Events and Views
Receiving Touches
Restricting Touches
Interpreting Touches
Gesture Recognizers
Touch Delivery
View Controllers
Starting a View Controller
Rotation
Modal Views
Tab Bar Controllers
Navigation Controllers
View Controller Lifetime Events
View Controller Memory Management
Scroll Views
Creating a Scroll View
Scrolling
Zooming
Scroll View Delegate
Scroll View Touches
Scroll View Performance
Table Views
Table View Cells
Table View Data
Table View Selection
Table View Scrolling and Layout
Table View Searching
Table View Editing
Popovers and Split Views
Presenting a Popover
Managing a Popover
Dismissing a Popover
Automatic Popovers
Split Views
Text
UILabel
UITextField
UITextView
Core Text
Web Views
Loading Content
Communicating With a Web View
Controls and Other Views
UIActivityIndicatorView
UIProgressView
UIPickerView
UISearchBar
UIControl
Bars
UINavigationBar
UIToolbar
UITabBar
Modal Dialogs
Alert View
Action Sheet
Dialog Alternatives
Sound
System Sounds
Audio Session
Audio Player
Remote Control of Your Sound
Playing Sound in the Background
Further Topics in Sound
Video
MPMoviePlayerController
MPMoviePlayerViewController
UIVideoEditorController
Further Topics in Video
Music Library
Exploring the Music Library
The Music Player
The Music Picker
Photo Library
UIImagePickerController
The Assets Library Framework
Address Book
Address Book Database
Address Book Interface
Calendar
Calendar Database
Calendar Interface
Mail
Mail Message
SMS Message
Maps
Presenting a Map
Annotations
Overlays
Current Location
To be continued...
m.
--
matt neuburg, phd = email@hidden, <http://www.apeth.net/matt/>
A fool + a tool + an autorelease pool = cool!
AppleScript: the Definitive Guide - Second Edition!
http://www.apeth.net/matt/default.html#applescriptthings_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden