๐”– Scriptorium
โœฆ   LIBER   โœฆ

๐Ÿ“

Learn Objective-C for Java developers

โœ Scribed by James Bucanek


Publisher
Apress; distributed by springer-Verlag
Year
2009
Tongue
English
Leaves
521
Series
Learn Series
Edition
1
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Synopsis


This book is for any Java developer interested in learning and exploring Objective-C as quickly as
possible.

โœฆ Table of Contents


Contents at a Glance......Page 6
Contents......Page 9
How This Book Is Structured......Page 26
Contacting the Author......Page 27
What is Objective-C?......Page 31
A Modern Object-Oriented Language......Page 32
Dynamism......Page 33
Learning a New Language......Page 36
Terminology and Culture Shock......Page 37
Summary......Page 38
Primitive Types......Page 39
Constants......Page 42
Pointers......Page 43
Structures......Page 44
Object References......Page 45
Arrays......Page 46
static......Page 47
extern......Page 48
Preprocessor......Page 49
Labels: break, continue, and goto......Page 52
Summary......Page 54
Defining an Objective-C Class......Page 55
Object Pointers......Page 57
Sending Messages......Page 58
Naming Methods......Page 59
Parameter and Return Types......Page 61
Instance Variables......Page 62
Accessing Properties......Page 68
Scope......Page 69
Forward @class Directive......Page 71
self and super......Page 72
Class Methods......Page 73
Constructing Objects......Page 75
Destructors......Page 81
Whatโ€™s Missing?......Page 82
Download the Project......Page 83
Creating a Project......Page 84
Getting Started......Page 86
Designing the Application......Page 87
Designing the User Interface......Page 89
Adding a Controller......Page 92
Making a Binding......Page 93
Adding an Array Controller......Page 95
Getting Down to Business......Page 96
Debugging Your Application......Page 100
Summary......Page 101
Protocols......Page 103
Informal Protocol......Page 105
Combining Formal and Informal Protocols......Page 106
Categories......Page 107
Summary......Page 113
Compiling Messages......Page 116
Sending Messages Programmatically......Page 118
Object-Oriented Method Invocation......Page 122
Calling Methods Directly......Page 124
Variable Arguments......Page 125
Unimplemented Methods......Page 128
Summary......Page 130
Messages to nil Are Safe......Page 132
nil Returns Zero......Page 135
Designing With nil......Page 136
No Free Rides......Page 141
Summary......Page 142
Wrapping Scalar Primitives......Page 145
Wrapping Arrays......Page 147
Wrapping Arbitrary Values......Page 149
Strings......Page 151
Formatting Strings......Page 156
Summary......Page 162
Writing Code with Garbage Collection......Page 164
Creating Weak References......Page 166
Creating Strong References......Page 168
Encouraging Garbage Collection......Page 169
GC vs. Non-GC Pointers......Page 170
Debugging......Page 173
Summary......Page 174
Testing for Methods......Page 175
Testing Class Membership......Page 177
Key-Value Coding......Page 178
Inspecting Classes......Page 183
Exploring Protocols......Page 185
Exploring Methods......Page 186
Exploring Properties......Page 188
Exploring Instance Variables......Page 189
Summary......Page 190
File System APIs......Page 191
Identifying Items in the File System......Page 192
Requesting a File from the User......Page 199
Symbolic Links, Hard Links, and Aliases......Page 200
Working With the Contents of a Directory......Page 201
File Properties......Page 203
High-Level File Operations......Page 205
Random File Access......Page 206
NSFileManager Delegate......Page 208
Alternate APIs......Page 209
Summary......Page 212
Archiving......Page 213
Objective-C Serialization......Page 231
Copying Objects......Page 235
Summary......Page 238
Communicating Within a Single Process......Page 239
Communicating with Other Processes......Page 240
Networking......Page 259
Summary......Page 265
Using Exceptions......Page 267
Exception Handling Differences......Page 269
Legacy Exceptions......Page 275
Assertions......Page 276
Alternatives to Exceptions......Page 280
Summary......Page 284
Thread API......Page 285
Starting a Thread......Page 286
Managing Threads......Page 288
Thread-Specific Values......Page 291
Terminating a Thread......Page 292
Run Loops......Page 293
Thread Notifications......Page 296
Thread Synchronization......Page 297
Operations......Page 308
Timers......Page 309
Summary......Page 311
Immutable Collections......Page 316
Ordered Collections......Page 320
Dictionary Collections......Page 325
Set Collections......Page 327
Collection Equality Contracts......Page 331
Comparing Collections......Page 333
Iterator Pattern......Page 334
Sorting Collections......Page 338
Filtering Collections......Page 340
Collection Concurrency......Page 341
Summary......Page 342
Understanding Delegates......Page 343
Using Delegates......Page 346
Delegate Methods......Page 347
Delegate Protocols......Page 348
Summary......Page 351
Notifications......Page 353
Posting Synchronous Notifications......Page 357
Being a Discriminating Observer......Page 358
Removing an Observer......Page 359
Notification Queuing......Page 360
Distributed Notifications......Page 362
Summary......Page 365
Key-Value Observing at Work......Page 368
Registering a Key-Value Observer......Page 371
Processing Key-Value Change Notifications......Page 373
Unregistering an Observer......Page 374
Making Your Classes KVO Compliant......Page 375
Summary......Page 380
Understanding Model-View-Controller......Page 382
Bindings......Page 386
Interface Builder......Page 388
Views......Page 397
Document Model......Page 411
Events and Responders......Page 412
Data Models......Page 422
Controllers......Page 426
About TicTacToe......Page 428
Summary......Page 430
Implementing the Pattern......Page 431
Lazy Initialization of Global Variables......Page 432
The Class +initialize Method......Page 435
Summary......Page 438
Matrix Class......Page 439
Summary......Page 456
Implementing Singletons......Page 457
Lazy Singletons......Page 458
Singleton Factory......Page 459
Summary......Page 460
Objective-C Reference Counting......Page 464
Autorelease Pools......Page 465
Managed Memory Patterns......Page 468
Managed Memory Problems......Page 475
Creating Autorelease Pools......Page 480
Mixing Managed Memory and Garbage Collection......Page 481
Summary......Page 483
Calling C Functions from Objective-C......Page 485
Core Foundation......Page 486
The Toll-Free Bridge......Page 487
C Memory Management......Page 490
Summary......Page 492
Process......Page 493
Frameworks......Page 496
User Defaults......Page 498
isa Swizzling......Page 500
64-Bit Programming......Page 501
Epilogue......Page 503
Index......Page 505


๐Ÿ“œ SIMILAR VOLUMES


Learn Objective-C for Java Developers
โœ James Bucanek (auth.) ๐Ÿ“‚ Library ๐Ÿ“… 2009 ๐Ÿ› Apress ๐ŸŒ English

<p><p><em>Learn Objective-C for Java Developers</em> will guide experienced Java developers into the world of Objective-C. It will show them how to take their existing language knowledge and design patterns and transfer that experience to Objective-C and the Cocoa runtime library. This is the expres

Learn Objective-C for Java Developers
โœ James Bucanek ๐Ÿ“‚ Library ๐Ÿ“… 2009 ๐Ÿ› Apress ๐ŸŒ English

Learn Objective-C for Java Developers will guide experienced Java developers into the world of Objective-C. It will show them how to take their existing language knowledge and design patterns and transfer that experience to Objective-C and the Cocoa runtime library. This is the express train to prod

C# for Java Developers
โœ Jones, Allen, Freeman, Adam & Adam Freeman ๐Ÿ“‚ Library ๐Ÿ“… 2010 ๐Ÿ› Microsoft Press ๐ŸŒ English

This title shows developers how to build Internet-based, distributed applications using Microsoftยฎ .NET Remoting, which enables powerful remote interaction among objects. A fundamental understanding of .NET Remoting is crucial as developers shift to developing distributed, Internet-based application

C# for Java Developers
โœ Allen Jones, Adam Freeman ๐Ÿ“‚ Library ๐Ÿ“… 2003 ๐Ÿ› Microsoft Press ๐ŸŒ English

The similarities between C# and Java are immediate and obvious, but Java programmers need to overcome certain challenges before they can get up to speed with C#. The expert authors of this title have written the perfect guide to help Java developers move past pitfalls and learn to make use of C#. T