Changes

Jump to: navigation, search

Objective-C 2.0 Essentials

19,447 bytes added, 15:38, 18 November 2016
no edit summary
* <table border="0" cellspacing="0" width="100%"><tr><td width="20%"><td align="center">[[Objective-C 2.0 Essentials|Table of Contents]]<td width="20%" align="right">[[About Objective-C Essentials|Next]]</td><tr><td width="20%"><td align="center"><td width="20%" align="right">About Objective-C Essentials</td></table><hr> <htmlet>objc</htmlet> The Objective-C 2.0 Essentials online book contains 34 chapters of detailed information intended to provide everything necessary to gain proficiency as an Objective-C programmer for both Mac OS X and iPhone development.   Objective-C 2.0 Essentials - Second Edition © 2012 Neil Smyth / Payload Media. This eBook is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.   == Table of Contents ==<table><tr><td># [[About Objective-C Essentials]]
#* [[About Objective-C Essentials|Why are you reading this?]]
#* [[About Objective-C Essentials|Supported Platforms]]<br><br># [[The History of Objective-C]]#* [[The History of Objective-C|The C Programming Language]]#* [[The History of Objective-C|The Smalltalk programming Language]]#* [[The History of Objective-C|C meets Smalltalk]]#* [[The History of Objective-C|Objective-C and Apple]]<br><br><htmlet>ezoictoc1</htmlet># [[Installing Xcode and Compiling Objective-C on Mac OS X]]#* [[Installing Xcode and Compiling Objective-C on Mac OS X|Installing Xcode on Mac OS X]]#* [[Installing Xcode and Compiling Objective-C on Mac OS X|Starting Xcode]]#* [[Installing Xcode and Compiling Objective-C on Mac OS X|Starting a New Project]]#* [[Installing Xcode and Compiling Objective-C on Mac OS X|Writing an Objective-C Application with Xcode]]#* [[Installing Xcode and Compiling Objective-C on Mac OS X|Compiling Objective-C from the Command Line]]<br><br># [[Installing and using GNUstep and Objective-C on Windows]]#* [[Installing and using GNUstep and Objective-C on Windows|Downloading the GNUstep Packages]]#* [[Installing and using GNUstep and Objective-C on Windows|Installing MinGW and GNUstep on Windows]]#* [[Installing and using GNUstep and Objective-C on Windows|Running the GNUstep Shell]]#* [[Installing and using GNUstep and Objective-C on Windows|Testing the Installation]]<br><br># [[Installing and Using GNUstep and Objective-C on Linux]]#* [[Installing and Using GNUstep and Objective-C on Linux|Installing GNUstep on Ubuntu]]#* [[Installing and Using GNUstep and Objective-C on Linux|Compiling Objective-C Code]]<br><br># [[Building and Installing GNUstep on Linux]]#* [[Building and Installing GNUstep on Linux|Installing gcc and Objective-C Support on Linux]]#* [[Building and Installing GNUstep on Linux|Package Dependencies]]#* [[Building and Installing GNUstep on Linux|Obtaining the GNUstep Source Code]]#* [[Building and Installing GNUstep on Linux|Configuring the Build Process]]#* [[Building and Installing GNUstep on Linux|Building GNUstep]]#* [[Building and Installing GNUstep on Linux|Testing the Objective-C and GNUstep Installation]]#* [[Building and Installing GNUstep on Linux|Compiling Objective-C Code]]<br><br># [[Objective-C 2.0 Data Types]]#* [[Objective-C 2.0 Data Types|int Data Type]]#* [[Objective-C 2.0 Data Types|char Data Type]]#* [[Objective-C 2.0 Data Types|Special Characters/Escape Sequences]]#* [[Objective-C 2.0 Data Types|float Data Type]]#* [[Objective-C 2.0 Data Types|double Data Type]]#* [[Objective-C 2.0 Data Types|id Data Type]]#* [[Objective-C 2.0 Data Types|BOOL Data Type]]#* [[Objective-C 2.0 Data Types|Objective-C Data Type Qualifiers]]#* [[Objective-C 2.0 Data Types|long]]#* [[Objective-C 2.0 Data Types|long long]]#* [[Objective-C 2.0 Data Types|short]]#* [[Objective-C 2.0 Data Types|signed / unsigned]]<br><br><htmlet>ezoictoc2</htmlet># [[Working with Variables and Constants in Objective-C]]#* [[Working with Variables and Constants in Objective-C|What is an Objective-C Variable]]#* [[Working with Variables and Constants in Objective-C|What is an Objective-C Constant?]]#* [[Working with Variables and Constants in Objective-C|Type Casting Objective-C Variables]]<br><br># [[Objective-C Operators and Expressions]]#* [[Objective-C Operators and Expressions|What is an Expression?]]#* [[Objective-C Operators and Expressions|The Basic Assignment Operator]]#* [[Objective-C Operators and Expressions|Objective-C Arithmetic Operators]]#* [[Objective-C Operators and Expressions|Compound Assignment Operators]]#* [[Objective-C Operators and Expressions|Increment and Decrement Operators]]#* [[Objective-C Operators and Expressions|Comparison Operators]]#* [[Objective-C Operators and Expressions|Boolean Logical Operators]]#* [[Objective-C Operators and Expressions|The Ternary Operator]]#* [[Objective-C Operators and Expressions|Bitwise Operators]]#* [[Objective-C Operators and Expressions|Bitwise AND]]#* [[Objective-C Operators and Expressions|Bitwise OR]]#* [[Objective-C Operators and Expressions|Bitwise XOR]]#* [[Objective-C Operators and Expressions|Bitwise Left Shift]]#* [[Objective-C Operators and Expressions|Bitwise Right Shift]]#* [[Objective-C Operators and Expressions|Compound Bitwise Operators]]<br><br># [[Objective-C 2.0 Operator Precedence]]#* [[Objective-C 2.0 Operator Precedence|An Example of Objective-C Operator Precedence]]#* [[Objective-C 2.0 Operator Precedence|Objective-C Operator Precedence and Associativity]]#* [[Objective-C 2.0 Operator Precedence|Overriding Operator Precedence]]<br><br># [[Commenting Objective-C Code]]#* [[Commenting Objective-C Code|Why Comment your Code?]]#* [[Commenting Objective-C Code|Single Line Comments]]#* [[Commenting Objective-C Code|Multi-line Comments]]<br><br># [[Objective-C Flow Control with if and else]]#* [[Objective-C Flow Control with if and else|Using the if Statement]]#* [[Objective-C Flow Control with if and else|Using if ... else .. Statements]]#* [[Objective-C Flow Control with if and else|Using if ... else if .. Statements]]#* [[Objective-C Flow Control with if and else|Summary]]<br><br># [[The Objective-C switch Statement]]#* [[The Objective-C switch Statement|Why Use a switch Statement?]]#* [[The Objective-C switch Statement|Using the switch Statement Syntax]]#* [[The Objective-C switch Statement|A switch Statement Example]]#* [[The Objective-C switch Statement|Explaining the Example]]#* [[The Objective-C switch Statement|Combining case Statements]]<br><br><htmlet>ezoictoc3</htmlet># [[Objective-C Looping - The for Statement]]#* [[Objective-C Looping - The for Statement|Why Use Loops?]]#* [[Objective-C Looping - The for Statement|Objective-C Loop Variable Scope]]#* [[Objective-C Looping - The for Statement|Creating an Infinite for Loop]]#* [[Objective-C Looping - The for Statement|Breaking Out of a for Loop]]#* [[Objective-C Looping - The for Statement|Nested for Loops]]#* [[Objective-C Looping - The for Statement|Breaking from Nested Loops]]#* [[Objective-C Looping - The for Statement|Continuing for Loops]]#* [[Objective-C Looping - The for Statement|Using for Loops with Multiple Variables]]<br><br># [[Objective-C Looping with do and while Statements]]#* [[Objective-C Looping with do and while Statements|The Objective-C while Loop]]#* [[Objective-C Looping with do and while Statements|Objective-C do ... while loops]]#* [[Objective-C Looping with do and while Statements|Breaking from Loops]]#* [[Objective-C Looping with do and while Statements|The continue Statement]]<br><br># [[An Overview of Objective-C Object Oriented Programming]]#* [[An Overview of Objective-C Object Oriented Programming|What is an Object?]]#* [[An Overview of Objective-C Object Oriented Programming|What is a Class?]]#* [[An Overview of Objective-C Object Oriented Programming|Declaring an Objective-C Class Implementation]]#* [[An Overview of Objective-C Object Oriented Programming|Adding Instance Variables to a Class]]#* [[An Overview of Objective-C Object Oriented Programming|Define Class Methods]]#* [[An Overview of Objective-C Object Oriented Programming|Declaring an Objective-C Class Implementation]]#* [[An Overview of Objective-C Object Oriented Programming|Declaring, Initializing and Releasing a Class Instance]]#* [[An Overview of Objective-C Object Oriented Programming|Calling Methods and Accessing Instance Data]]#* [[An Overview of Objective-C Object Oriented Programming|Creating the Program Section]]#* [[An Overview of Objective-C Object Oriented Programming|Bringing it all Together]]#* [[An Overview of Objective-C Object Oriented Programming|Structuring Object-Oriented Objective-C Code]]<br><br># [[Writing Objective-C Class Methods]]#* [[Writing Objective-C Class Methods|Instance and Class Methods]]#* [[Writing Objective-C Class Methods|Creating a New Class Method]]#* [[Writing Objective-C Class Methods|The @interface Section]]#* [[Writing Objective-C Class Methods|The @implementation Section]]#* [[Writing Objective-C Class Methods|The main() Function]]<br><br># [[Objective-C - Data Encapsulation, Synthesized Accessors and Dot Notation]]#* [[Objective-C - Data Encapsulation, Synthesized Accessors and Dot Notation|Data Encapsulation]]#* [[Objective-C - Data Encapsulation, Synthesized Accessors and Dot Notation|Synthesized Accessor Methods]]#* [[Objective-C - Data Encapsulation, Synthesized Accessors and Dot Notation|Direct Access to Encapsulated Data]]#* [[Objective-C - Data Encapsulation, Synthesized Accessors and Dot Notation|Objective-C and Dot Notation]]#* [[Objective-C - Data Encapsulation, Synthesized Accessors and Dot Notation|Controlling Access to Instance Variables]]<br><br># [[Objective-C Inheritance]]#* [[Objective-C Inheritance|Inheritance, Classes and Subclasses]]#* [[Objective-C Inheritance|An Objective-C Inheritance Example]]#* [[Objective-C Inheritance|Extending the Functionality of a Subclass]]#* [[Objective-C Inheritance|Overriding Inherited Methods]]<br><br># [[Pointers and Indirection in Objective-C]]#* [[Pointers and Indirection in Objective-C|How Variables are Stored]]#* [[Pointers and Indirection in Objective-C|An Overview of Indirection]]#* [[Pointers and Indirection in Objective-C|Indirection and Objects]]#* [[Pointers and Indirection in Objective-C|Indirection and Object Copying]]<br><br># [[Objective-C Dynamic Binding and Typing with the id Type]]#* [[Objective-C Dynamic Binding and Typing with the id Type|Static Typing vs Dynamic Typing]]#* [[Objective-C Dynamic Binding and Typing with the id Type|Dynamic Binding]]#* [[Objective-C Dynamic Binding and Typing with the id Type|Polymorphism]]<br><br># [[Objective-C Variable Scope and Storage Class]]#* [[Objective-C Variable Scope and Storage Class|Variable Scope]]#* [[Objective-C Variable Scope and Storage Class|Block Scope]]#* [[Objective-C Variable Scope and Storage Class|Function Scope]]#* [[Objective-C Variable Scope and Storage Class|Global Scope]]#* [[Objective-C Variable Scope and Storage Class|File Scope]]#* [[Objective-C Variable Scope and Storage Class|Variable Storage Class]]<br><br><htmlet>ezoictoc4</htmlet># [[An Overview of Objective-C Functions]]#* [[An Overview of Objective-C Functions|What is a Function?]]#* [[An Overview of Objective-C Functions|How to Declare an Objective-C Function]]#* [[An Overview of Objective-C Functions|Calling an Objective-C Function]]#* [[An Overview of Objective-C Functions|Function Prototypes]]#* [[An Overview of Objective-C Functions|Function Scope and the static Specifier]]#* [[An Overview of Objective-C Functions|Static Variables in Functions]]<br><br># [[Objective-C Enumerators]]#* [[Objective-C Enumerators|Why Use Enumerators]]#* [[Objective-C Enumerators|Declaring an Enumeration]]#* [[Objective-C Enumerators|Creating and Using an Enumeration]]#* [[Objective-C Enumerators|Enumerators and Variable Names]]<br><br># [[An Overview of the Objective-C Foundation Framework]]#* [[An Overview of the Objective-C Foundation Framework|The Foundation Framework]]#* [[An Overview of the Objective-C Foundation Framework|Including the Foundation Headers]]#* [[An Overview of the Objective-C Foundation Framework|Finding the Foundation Framework Documentation]]<br><br># [[Working with String Objects in Objective-C]]#* [[Working with String Objects in Objective-C|Strings without NSString]]#* [[Working with String Objects in Objective-C|Declaring Constant String Objects]]#* [[Working with String Objects in Objective-C|Creating Mutable and Immutable String Objects]]#* [[Working with String Objects in Objective-C|Getting the Length of a String]]#* [[Working with String Objects in Objective-C|Copying a String]]#* [[Working with String Objects in Objective-C|Searching for a Substring]]#* [[Working with String Objects in Objective-C|Replacing Parts of a String]]#* [[Working with String Objects in Objective-C|String Search and Replace]]#* [[Working with String Objects in Objective-C|Deleting Sections of a String]]#* [[Working with String Objects in Objective-C|Extracting a Subsection of a String]]#* [[Working with String Objects in Objective-C|Inserting Text into a String]]#* [[Working with String Objects in Objective-C|Appending Text to the End of a String]]#* [[Working with String Objects in Objective-C|Comparing Strings]]#* [[Working with String Objects in Objective-C|Checking for String Prefixes and Suffixes]]#* [[Working with String Objects in Objective-C|Converting to Upper or Lower Case]]#* [[Working with String Objects in Objective-C|Converting Strings to Numbers]]#* [[Working with String Objects in Objective-C|Converting a String Object to ASCII]]<br><br># [[Understanding Objective-C Number Objects]]#* [[Understanding Objective-C Number Objects|Creating and Initializing NSNumber Objects]]#* [[Understanding Objective-C Number Objects|Getting the Value of a Number Object]]#* [[Understanding Objective-C Number Objects|Comparing Number Objects]]#* [[Understanding Objective-C Number Objects|Getting the Number Object Value as a String]]<br><br># [[Working with Objective-C Array Objects]]#* [[Working with Objective-C Array Objects|Mutable and Immutable Arrays]]#* [[Working with Objective-C Array Objects|Creating an Array Object]]#* [[Working with Objective-C Array Objects|Finding out the Number of Elements in an Array]]#* [[Working with Objective-C Array Objects|Accessing the Elements of an Array object]]#* [[Working with Objective-C Array Objects|Accessing Array Elements using Fast Enumeration]]#* [[Working with Objective-C Array Objects|Adding Elements to an Array Object]]#* [[Working with Objective-C Array Objects|Inserting Elements into an Array]]#* [[Working with Objective-C Array Objects|Deleting Elements from an Array Object]]#* [[Working with Objective-C Array Objects|Sorting Array Objects]]<br><br># [[Objective-C Dictionary Objects]]#* [[Objective-C Dictionary Objects|What are Dictionary Objects?]]#* [[Objective-C Dictionary Objects|Creating Dictionary Objects]]#* [[Objective-C Dictionary Objects|Initializing and Adding Entries to a Dictionary Object]]#* [[Objective-C Dictionary Objects|Getting an Entry Count]]#* [[Objective-C Dictionary Objects|Accessing Dictionary Entries]]#* [[Objective-C Dictionary Objects|Removing Entries from a Dictionary Object]]<br><br># [[Working with Directories in Objective-C]]#* [[Working with Directories in Objective-C|The Objective-C NSFileManager, NSFileHandle and NSData Classes]]#* [[Working with Directories in Objective-C|Understanding Pathnames in Objective-C]]#* [[Working with Directories in Objective-C|Creating an NSFileManager Instance Object]]#* [[Working with Directories in Objective-C|Identifying the Current Working Directory]]#* [[Working with Directories in Objective-C|Changing to a Different Directory]]#* [[Working with Directories in Objective-C|Creating a New Directory]]#* [[Working with Directories in Objective-C|Deleting a Directory]]#* [[Working with Directories in Objective-C|Renaming or Moving a Directory]]#* [[Working with Directories in Objective-C|Getting a Directory File Listing]]#* [[Working with Directories in Objective-C|Getting the Attributes of a File or Directory]]<br><br># [[Working with Files in Objective-C]]#* [[Working with Files in Objective-C|Creating an NSFileManager Instance]]#* [[Working with Files in Objective-C|Checking if a File Exists]]#* [[Working with Files in Objective-C|Comparing the Contents of Two Files]]#* [[Working with Files in Objective-C|Checking if a File is Readable/Writable/Executable/Deletable]]#* [[Working with Files in Objective-C|Moving/Renaming a File]]#* [[Working with Files in Objective-C|Copying a File]]#* [[Working with Files in Objective-C|Removing a File]]#* [[Working with Files in Objective-C|Creating a Symbolic Link]]#* [[Working with Files in Objective-C|Reading and Writing Files with NSFileManager]]#* [[Working with Files in Objective-C|Working with Files using the NSFileHandle Class]]#* [[Working with Files in Objective-C|Creating an NSFileHandle Object]]#* [[Working with Files in Objective-C|NSFileHandle File Offsets and Seeking]]#* [[Working with Files in Objective-C|Reading Data from a File]]#* [[Working with Files in Objective-C|Writing Data to a File]]#* [[Working with Files in Objective-C|Truncating a File]]<br><br># [[Constructing and Manipulating Paths with NSPathUtilities]]#* [[Constructing and Manipulating Paths with NSPathUtilities|The Anatomy of a Path]]#* [[Constructing and Manipulating Paths with NSPathUtilities|Finding a Temporary Directory]]#* [[Constructing and Manipulating Paths with NSPathUtilities|Getting the Current User's Home Directory]]#* [[Constructing and Manipulating Paths with NSPathUtilities|Getting the Home Directory of a Specified User]]#* [[Constructing and Manipulating Paths with NSPathUtilities|Extracting the Filename from a Path]]#* [[Constructing and Manipulating Paths with NSPathUtilities|Extracting the Filename Extension]]#* [[Constructing and Manipulating Paths with NSPathUtilities|Standardizing a Path]]#* [[Constructing and Manipulating Paths with NSPathUtilities|Extracting the Components of a Path]]<br><br># [[Copying Objects in Objective-C]]#* [[Copying Objects in Objective-C|Objects and Pointers]]#* [[Copying Objects in Objective-C|Copying an Object in Objective-C using the <NSCopying> Protocol]]#* [[Copying Objects in Objective-C|<NSCopying> Protocol and copyWithZone Method Implementation]]#* [[Copying Objects in Objective-C|Performing a Deep Copy]]<br><br># [[Using Objective-C Preprocessor Directives]]#* [[Using Objective-C Preprocessor Directives|The #define Statement]]#* [[Using Objective-C Preprocessor Directives|Creating Macros with the #define Statement]]#* [[Using Objective-C Preprocessor Directives|Changing the Objective-C Language with #define]]#* [[Using Objective-C Preprocessor Directives|Undefining a Definition with #undef]]#* [[Using Objective-C Preprocessor Directives|Conditional Compilation]]#* [[Using Objective-C Preprocessor Directives|The #import Directive]]<br><br></td><td valign="top"><htmlet>adsdaqbox</htmlet></td></tr></table> <htmlet>objc</htmlet>  <htmlet>ezoicbottom</htmlet><hr><table border="0" cellspacing="0" width="100%"><tr><td width="20%"><td align="center">[[Objective-C 2.0 Essentials|Table of Contents]]<td width="20%" align="right">[[About Objective-C Essentials|Next]]</td><tr><td width="20%"><td align="center"><td width="20%" align="right">About Objective-C Essentials</td></table>

Navigation menu