dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Learn Cocoa on the Mac

Learn Cocoa on the Mac

David Mark, Jeff LaMarche, Jack Nutting

 

Verlag Apress, 2010

ISBN 9781430218609 , 400 Seiten

Format PDF, OL

Kopierschutz Wasserzeichen

Geräte

35,30 EUR

  • What's App? - Genial und verrückt! - Die Welt der kleinen Alleskönner
    AutoCAD 2012 - Von der 2D-Linie zum 3D-Modell
    Organisiert (DIGITAL lifeguide) - Termine, Kontakte, Aufgaben immer & überall im Griff
    iTunes (DIGITAL lifeguide) - Die besten Tipps und Tricks für entspannten Musikgenuss
    Von PDM zu PLM - Prozessoptimierung durch Integration
    Konstruieren mit CAD - Das Komplettpaket für 3D Modellieren im Maschinenbau

     

     

     

 

 

Title Page

1

Copyright Page

2

Contents at a Glance

3

Table of Contents

4

Foreword

10

About the Authors

11

About the Technical Reviewer

12

Acknowledgments

13

Preface

14

Chapter 1 Must Love Cocoa

15

Get a Mac and Download the Tools

16

Download the Source Code

17

Getting Help

17

What You Need to Know Before You Begin

17

Are You Ready?

18

Chapter 2 Hello, World

19

Building “Hello, World”

19

Exploring the Nib File

23

The Library

24

Dragging Out a Label

26

Using the Blue Guidelines

27

The Inspector Window

28

The Attributes Inspector

29

Change the Label’s Color and Font

31

Using the Menu Editor

33

Creating Your Application Icon

35

Adding Your Icon to Your Project

36

Property Lists

39

Running Your Application

39

Sharing Your Creation With the World

40

Goodbye, Hello World

42

Chapter 3 Lights, Camera… Actions! (and Outlets, Too)

43

This Chapter’s Application

44

Frameworks, Frameworks Everywhere

44

The Foundation Framework

45

The AppKit Framework

45

The Cocoa Way: Model-View-Controller

46

Outlets, Actions, and Controllers

47

Declaring Outlets

47

Declaring Actions

48

Outlets and Actions in Action

49

Enabling Garbage Collection

49

Creating Our Controller Class

51

Declaring an Action and Outlet

52

Back to Interface Builder

53

Proxy Objects

54

Creating the Controller Instance

55

Setting Up the Window

56

Designing the Window’s Interface

60

Connecting the Outlet

62

Connecting the Buttons to Our Action

63

Implementing the Action Method

64

The Application Delegate

65

Configuring the Application to Quit on Window Close

66

Using the Documentation Browser

67

Bring It on Home

68

Chapter 4 GUI Components

69

Creating the VillainTracker Application

71

Creating the VillainTrackerAppDelegate Class

72

Planning for the GUI

74

Building Your Interface

76

Bringing Out Your Text Fields

76

Letting them Pick Dates

78

Creating the Combo Box

79

Indicating a Rating with a Level Indicator

80

Adding Radio Buttons in a Matrix

81

Adding an Image View

84

Adding Checkboxes in a Matrix

85

Configuring a Popup Button

86

Inserting a Text View

87

Making Logical Groupings

87

Resizing

90

Time for the Controller

92

Making All the Connections

92

Getting Started with Coding

94

Standardizing Key Names

94

Creating the Default Villain

95

Paying Attention to Detail

96

Setting Simple Values

97

Values in Complex Controls

98

Responding to Input

101

In Conclusion

104

Chapter 5 Using Table Views

105

Preparing AppController for Multiple Villains

105

Making Way for the Table View

107

Tweaking the Autosizing Characteristics

110

Making Some New Connections

112

Making Way for the Table View: Code Edition

113

The Table View Needs Your Help

114

Adding and Deleting Villains

116

In Conclusion

118

Chapter 6 Cocoa Bindings

119

Binding to Simple Controls

120

Create the DungeonThing Project

120

Create a Preferences Window

121

Add a Tab View

122

Character Generation Preferences

122

Monster Generation Preferences

124

Dungeon Generation Preferences

124

Binding to NSUserDefaultsController

125

Bindings for Character Generation

125

Bindings for Monster Generation

127

Bindings for Dungeon Generation

127

Create the Main Window

128

Set Up the DungeonThingAppDelegate

130

Define Your Constants

130

Specify Default Preferences Values

131

Create the Action Methods

132

Binding to a Table View

134

Make the Code Bindings-Ready

135

Show History in Tables

138

Dealing With Inconsistencies in Nib Files

138

Configuring the Table Views and Text Views

138

Create and Configure an Array Controller

140

Bind Table Display via the Array Controller

142

Bind a Text Field via the Array Controller’s Selection

142

Making Sure it Works

143

Rinse, Repeat, Rinse, Repeat

143

Okay, But How Did That Work?

143

Key-Value Coding

143

Key-Value Observing

145

Cocoa Bindings: How It Works

145

In Conclusion

146

Chapter 7 Core Data Basics

147

What You’ve Been Missing

147

Creating MythBase

149

Defining the Model

150

Using Xcode’s Model Editor

151

Creating an Entity

152

Creating Attributes

153

Attributes for Unsupported Types

155

The Automatic GUI

156

Refining the GUI

159

Exploring the Template Code

164

The App Delegate Interface

164

The App Delegate Implementation

166

The applicationSupportDirectory Method

166

The managedObjectModel Accessor Method

167

The persistentStoreCoordinator Accessor Method

168

The managedObjectContext Accessor Method

170

An NSWindow Delegate Method

170

The saveAction: Action Method

171

An NSApplication Delegate Method

171

The Obligatory Dealloc Method

173

Adding Business Logic

173

Validating Single Attributes

174

Validating Multiple Attributes

174

Creating a Custom Attribute

177

In Conclusion

178

Chapter 8 Core Data Relationships

179

Modeling New Entities and Relationships

180

Model Versioning and Migrations

181

Preparing for Multiple Model Versions

181

Adding New Entities

181

Add Relationships

182

Creating a Simple Migration

184

Time to Run

186

Updating the GUI

187

Create the Band Window

187

Giving Useful Names to Array Controllers

188

Putting People in Bands

189

Showing the Bands’ Members

191

Create a Venue Window

193

Adding a Gig List to the Band Window

193

Wrapping Up Relationships

195

Chapter 9 Search and Retrieve Core Data with Criteria

197

Creating QuoteMonger

197

Create the Project and Its Data Model

198

The Data Entry Window

199

A Two-Part Autogenerated Window

199

Smoothing Out the Rough Spots

200

Enter Some Initial Quotes

201

Creating the Quote Finder Window

202

Limiting Results with NSPredicate

203

Creating Predicates

203

Specifying an NSAppController’s Predicate in Interface Builder

205

User-Defined Predicates

205

Adding a Predicate to the App Delegate

206

Add a Predicate Editor to the Search Window

207

Configuring the Predicate Editor

207

Saving a Predicate

209

In Conclusion

210

Chapter 10 Windows and Menus and Sheets

211

NSWindow and NSPanel

211

Handling Input

213

To Use a Panel, or Not to Use a Panel

213

Window Attributes

214

Standard System Panels

215

The Color Panel

216

The Font Panel

218

A Controller With a Nib of Its Own

219

Loading a Nib With NSWindowController

220

Subclassing NSWindowController

221

Modal Windows

223

The NSAlert Functions

223

Open Panels and Save Panels

224

System Menus

225

Standard Application Menu Items

226

Your Own Menus

226

Enabling/Disabling With Bindings

227

Enabling/Disabling With First Responder

229

Sheets

232

Wrap-up

234

Chapter 11 Document-Based Applications

235

Creating the ColorMix Application

236

Examining the Default Nib Files

237

Defining the Model

237

Setting Two Colors

238

The Simplest of GUIs

239

Creating a Default ColorSet

240

Settling on a File Format

241

Adding Color

241

The ColorBlendView Class

242

Adding Blended Colors to the GUI

244

Adding Some Background Bling

248

About Undo and Redo

250

The Undo Stack

250

In Conclusion

251

Chapter 12 Exceptions, Signals, Errors, and Debugging

252

Exception Handling

252

Catching Exceptions

253

The Limited Role of Exceptions in Cocoa

254

Create a Test-bed

254

NSInvalidArgumentException

259

NSRangeException

262

And the Rest

263

Worse than Exceptions: Death by Signal

264

NSError

266

Domains and Codes

266

Realizing You Have an Error

267

Presenting an Error

271

In Conclusion

271

Chapter 13 Drawing in Cocoa

272

Fundamentals

272

The View Coordinate System

273

Frame Rectangle vs. Bounds Rectangle

273

Rects, Points, and Sizes

274

Path Basics

274

Creating an NSView Subclass

275

Some C Structures

275

The Basic Drawing Method, drawRect

276

Graphics States

276

Path Helpers

276

Colors and the Graphics Context

277

Beyond Color

278

Manual Path Construction

279

Pushing Boundaries

279

LOLmaker

282

First Steps to LOL

282

LOLView

284

Drawing a Bitmap

285

Let It Scroll

286

Drawing Text

288

Printing Basics

290

Wrapping Up

291

Chapter 14 Advanced Drawing Topics

292

Editing a Curve

292

Preparations

293

Bezier Plumbing

295

Drawing a Curve

296

Watching the Mouse

298

A Little Polish

300

Core Animation: A Primer

301

Core Animation Basics

302

Implicit Animations

302

Explicit Animations

303

Grouping Animations

308

What Have We Done?

315

Chapter 15 Working with Files

316

Implicit File Access

316

High-level File Operations

317

What About That File: The Code

318

What About That File: The GUI

323

Filing It All Away

327

Chapter 16 Concurrency

328

SlowWorker

329

Threading Basics

331

Units of Work

332

Operation Queues

333

Vitalizing SlowWorker

333

Extending NSObject

336

Demanding the Main Thread

337

GCD: Low-Level Queuing

342

Becoming a Blockhead

343

Improving SlowWorker a Second Time

344

Don’t Forget That Main Thread

345

Concurrent Blocks

345

Another Option: NSBlockOperation

346

A Little Concurrency Goes a Long Way

347

Chapter 17 Future Paths

348

More Cocoa-isms

348

Notifications

349

Blocks

350

Enumeration

350

Observing Notifications Using Blocks

352

Filtering

352

Cocoa in a Foreign Language

352

PyObjC

353

MacRuby

354

Nu

355

JavaScript

355

F-Script

356

Ported Cocoa

356

Cocoa Touch

357

GNUstep and Cocotron

357

Cappuccino/Objective-J

358

Here at the End of All Things

359

Index

360