|
![]() |
|||
|
||||
OverviewObjective-C Phrasebook gives you the code phrases you need to quickly and effectively complete your programming projects with Objective-C, on systems including iOS and Mac OS X. Concise and Accessible Easy to carry and easy to use–lets you ditch all those bulky books for one portable pocket guide Flexible and Functional Packed with more than 100 customizable code snippets–so you can readily code elegant Objective-C in just about any situation Full Product DetailsAuthor: David ChisnallPublisher: Pearson Education (US) Imprint: Addison-Wesley Educational Publishers Inc Dimensions: Width: 17.70cm , Height: 2.00cm , Length: 12.20cm Weight: 0.286kg ISBN: 9780321743626ISBN 10: 0321743628 Pages: 352 Publication Date: 03 March 2011 Audience: Professional and scholarly , Professional & Vocational Replaced By: 9780321813756 Format: Paperback Publisher's Status: Out of Print Availability: In Print ![]() Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock. Table of ContentsIntroduction xiv 1 The Objective-C Philosophy 1 Understanding the Object Model 2 A Tale of Two Type Systems 4 C Is Objective-C 5 The Language and the Library 7 The History of Objective-C 9 Cross-Platform Support 12 Compiling Objective-C Programs 14 2 An Objective-C Primer 17 Declaring Objective-C Types 18 Sending Messages 22 Understanding Selectors 26 Declaring Classes 28 Using Protocols 33 Adding Methods to a Class 35 Using Informal Protocols 38 Synthesizing Methods with Declared Properties 39 Understanding self, _cmd, super 44 Understanding the isa Pointer 47 Initializing Classes 50 Reading Type Encodings 53 Using Closures 56 3 Memory Management 59 Retaining and Releasing 60 Assigning to Instance Variables 61 Avoiding Retain Cycles 63 Autorelease Pools 64 Using Autoreleased Constructors 66 Autoreleasing Objects in Accessors 67 Supporting Automatic Garbage Collection 68 Interoperating with C 70 Using Weak References 71 Allocating Scanned Memory 73 4 Common Objective-C Patterns 75 Supporting Two-Stage Creation 76 Copying Objects 78 Archiving Objects 80 Creating Designated Initializers 84 Enforcing the Singleton Pattern 87 Delegation 89 Providing Façades 91 Creating Class Clusters 93 Using Run Loops 96 5 Numbers 99 Storing Numbers in Collections 101 Performing Decimal Arithmetic 105 Converting Between Strings and Numbers 108 Reading Numbers from Strings 110 6 Manipulating Strings 113 Creating Constant Strings 114 Comparing Strings 115 Processing a String One Character at a Time 119 Converting String Encodings 122 Trimming Strings 125 Splitting Strings 126 Copying Strings 128 Creating Strings from Templates 130 Storing Rich Text 133 7 Working with Collections 135 Using Arrays 137 Manipulating Indexes 139 Storing Unordered Groups of Objects 141 Creating a Dictionary 143 Iterating Over a Collection 145 Finding an Object in a Collection 149 Subclassing Collections 152 8 Dates and Times 157 Finding the Current Date 158 Converting Dates for Display 160 Calculating Elapsed Time 163 Parsing Dates from Strings 165 Receiving Timer Events 166 9 Working with Property Lists 169 Storing Collections in Property Lists 170 Reading Data from Property Lists 173 Converting Property List Formats 176 Storing User Defaults 178 Storing Arbitrary Objects in User Defaults 182 10 Interacting with the Environment 185 Getting Environment Variables 186 Parsing Command-Line Arguments 188 Accessing the User’s Locale 190 Supporting Sudden Termination 191 11 Key-Value Coding 195 Accessing Values by Key 196 Ensuring KVC Compliance 197 Understanding Key Paths 201 Observing Keys 203 Ensuring KVO Compliance 205 12 Handling Errors 209 Runtime Differences for Exceptions 210 Throwing and Catching Exceptions 214 Using Exception Objects 216 Managing Memory with Exceptions 218 Passing Error Delegates 221 Returning Error Values 222 Using NSError 223 13 Accessing Directories and Files 227 Reading a File 228 Moving and Copying Files 230 Getting File Attributes 232 Manipulating Paths 234 Determining if a File or Directory Exists 236 Working with Bundles 238 Finding Files in System Locations 240 14 Threads 245 Creating Threads 246 Controlling Thread Priority 247 Synchronizing Threads 250 Storing Thread-Specific Data 252 Waiting for a Condition 255 15 Blocks and Grand Central 259 Binding Variables to Blocks 260 Managing Memory with Blocks 264 Performing Actions in the Background 267 Creating Custom Work Queues 269 16 Notifications 273 Requesting Notifications 274 Sending Notifications 276 Enqueuing Notifications 277 Sending Notifications Between Applications 278 17 Network Access 283 Wrapping C Sockets 284 Connecting to Servers 286 Sharing Objects Over a Network 289 Finding Network Peers 292 18 Debugging Objective-C 297 Inspecting Objects 298 Recognizing Memory Problems 300 Watching Exceptions 302 Asserting Expectations 304 Logging Debug Messages 306 19 The Objective-C Runtime 309 Sending Messages by Name 310 Finding Classes by Name 312 Testing If an Object Understands a Method 313 Forwarding Messages 315 Finding Classes 318 Inspecting Classes 320 Creating New Classes 322 Index 325ReviewsAuthor InformationDavid Chisnall is an active contributor to the GNUstep project, which provides an open source implementation of the Cocoa APIs, and cofounded the Étoilé project to build a desktop environment atop GNUstep. He has created a new Objective-C runtime library, worked on Objective-C support in the clang compiler, and published papers on Objective-C. He is the author of Cocoa Programming Developer’s Handbook (Addison-Wesley, 2009). Tab Content 6Author Website:Countries AvailableAll regions |