Objective-C程式設計(第6版)英文版

Objective-C程式設計(第6版)英文版

《Objective-C程式設計(第6版)英文版》是2016年4月電子工業出版社出版的圖書,作者是【美】Stephen G. Kochan(史蒂芬.G.寇肯)。

內容簡介

本書是為在蘋果iOS 和OS X 平台上,使用Objective-C 語言和面向對象程式設計模式進行專業開發而編寫的簡潔、細緻的入門讀物。本書假設讀者無面向對象程式語言或C 語言編程經驗,以保障初學者與有經驗的程式設計師一樣,可用本書迅速和有效地學習Objective-C。本書提供的學習方法獨特,配有眾多程式示例及章末練習,適合自學和課堂教學。第6 版已全面更新,充分納入Objective-C 的新功能與技術,同時覆蓋對新版Xcode、iOS 和Mac OS X Mavericks 的介紹。

內容提要

本書是為在蘋果iOS 和OS X 平台上,使用Objective-C 語言和面向對象程式設計模式進行專業開發而編寫的簡潔、細緻的入門讀物。本書假設讀者無面向對象程式語言或C 語言編程經驗,以保障初學者與有經驗的程式設計師一樣,可用本書迅速和有效地學習Objective-C。本書提供的學習方法獨特,配有眾多程式示例及章末練習,適合自學和課堂教學。第6 版已全面更新,充分納入Objective-C 的新功能與技術,同時覆蓋對新版Xcode、iOS 和Mac OS X Mavericks 的介紹。

目錄

1 Introduction

What You Will Learn from This Book

How This Book Is Organized

Support

Acknowledgments

Preface to the Sixth Edition

I: The Objective-C Language

2 Programming in Objective-C

Compiling and Running Programs

Using Xcode

Using Terminal

Explanation of Your First Program

Displaying the Values of Variables

Summary

Exercises

3 Classes, Objects, and Methods

What Is an Object, Anyway?

Instances and Methods

An Objective-C Class for Working with Fractions

The @interface Section

Choosing Names

Class and Instance Methods

The @implementation Section

The program Section

Accessing Instance Variables and Data Encapsulation

Summary

Exercises

4 Data Types and Expressions

Data Types and Constants

Type int

Type float

Type char

Qualifiers: long, long long, short, unsigned, and signed

Type id

Arithmetic Expressions

Operator Precedence

Integer Arithmetic and the Unary Minus Operator

The Modulus Operator

Integer and Floating-Point Conversions

The Type Cast Operator

Assignment Operators

A Calculator Class

Exercises

5 Program Looping

The for Statement

Keyboard Input

Nested for Loops

for Loop Variants

The while Statement

The do Statement

The break Statement

The continue Statement

Summary

Exercises

6 Making Decisions

The if Statement

The if-else Construct

Compound Relational Tests

Nested if Statements

The else if Construct

The switch Statement

Boolean Variables

The Conditional Operator

Exercises

7 More on Classes

Separate Interface and Implementation Files

Synthesized Accessor Methods

Accessing Properties Using the Dot Operator

Multiple Arguments to Methods

Methods without Argument Names

Operations on Fractions

Local Variables

Method Arguments

The static Keyword

The self Keyword

Allocating and Returning Objects from Methods

Extending Class Definitions and the Interface File

Exercises

8 Inheritance

It All Begins at the Root

Finding the Right Method

Extension through Inheritance: Adding New Methods

A Point Class and Object Allocation

The @class Directive

Classes Owning Their Objects

Overriding Methods

Which Method Is Selected?

Abstract Classes

Exercises

9 Polymorphism, Dynamic Typing, and Dynamic Binding

Polymorphism: Same Name, Different Class

Dynamic Binding and the id Type

Compile Time Versus Runtime Checking

The id Data Type and Static Typing

Argument and Return Types with Dynamic Typing

Asking Questions about Classes

Exception Handling Using @try

Exercises

10 More on Variables and Data Types

Initializing Objects

Scope Revisited

More on Properties, Synthesized Accessors, and Instance Variables

Global Variables

Static Variables

Enumerated Data Types

The typedef Statement

Data Type Conversions

Conversion Rules

Bit Operators

The Bitwise AND Operator

The Bitwise Inclusive-OR Operator

The Bitwise Exclusive-OR Operator

The Ones Complement Operator

The Left-Shift Operator

The Right-Shift Operator

Exercises

11 Categories and Protocols

Categories

Class Extensions

Some Notes about Categories

Protocols and Delegation

Delegation

Informal Protocols

Composite Objects

Exercises

12 The Preprocessor

The #define Statement

More Advanced Types of Definitions

The #import Statement

Conditional Compilation

The #ifdef , #endif , #else , and #ifndef Statements

The #if and #elif Preprocessor Statements

The #undef Statement

Exercises

13 Underlying C Language Features

Arrays

Initializing Array Elements

Character Arrays

Multidimensional Arrays

Functions

Arguments and Local Variables

Returning Function Results

Functions, Methods, and Arrays

Blocks

Structures

Initializing Structures

Structures within Structures

Additional Details about Structures

Don’t Forget about Object-Oriented Programming!

Pointers

Pointers and Structures

Pointers, Methods, and Functions

Pointers and Arrays

Operations on Pointers

Pointers and Memory Addresses

They’re Not Objects!

Miscellaneous Language Features

Compound Literals

The goto Statement

The Null Statement

The Comma Operator

The sizeof Operator

Command-Line Arguments

How Things Work

Fact 1: Instance Variables Are Stored in Structures

Fact 2: An Object Variable Is Really a Pointer

Fact 3: Methods Are Functions, and Message Expressions Are Function Calls

Fact 4: The id Type Is a Generic Pointer Type

Exercises

II: The Foundation Framework

14 Introduction to the Foundation Framework

Foundation Documentation

15 Numbers, Strings, and Collections

Number Objects

String Objects

More on the NSLog Function

The description Method

Mutable Versus Immutable Objects

Mutable Strings

Array Objects

Making an Address Book

Sorting Arrays

Dictionary Objects

Enumerating a Dictionary

Set Objects

NSIndexSet

Exercises

16 Working with Files

Managing Files and Directories: NSFileManager

Working with the NSData Class

Working with Directories

Enumerating the Contents of a Directory

Working with Paths: NSPathUtilities.h

Common Methods for Working with Paths

Copying Files and Using the NSProcessInfo Class

Basic File Operations: NSFileHandle

The NSURL Class

The NSBundle Class

Exercises

17 Memory Management and Automatic Reference Counting

Automatic Garbage Collection

Manual Reference Counting

Object References and the Autorelease Pool

The Event Loop and Memory Allocation

Summary of Manual Memory Management Rules

Automatic Reference Counting

Strong Variables

Weak Variables

@autoreleasepool Blocks

Method Names and Non-ARC Compiled Code

18 Copying Objects

The copy and mutableCopy Methods

Shallow Versus Deep Copying

Implementing the <NSCopying> Protocol

Copying Objects in Setter and Getter Methods

Exercises

19 Archiving

Archiving with XML Property Lists

Archiving with NSKeyedArchiver

Writing Encoding and Decoding Methods

Using NSData to Create Custom Archives

Using the Archiver to Copy Objects

Exercises

III: Cocoa, Cocoa Touch, and the iOS SDK

20 Introduction to Cocoa and Cocoa Touch

Framework Layers

Cocoa Touch

21 Writing iOS Applications

The iOS SDK

Your First iPhone Application

Creating a New iPhone Application Project

Entering Your Code

Designing the Interface

An iPhone Fraction Calculator

Starting the New Fraction_Calculator Project

Defining the View Controller

The Fraction Class

A Calculator Class That Deals with Fractions

Designing the User Interface

Summary

Exercises

Appendixes

A Glossary

B Address Book Example Source Code

Index

相關詞條

熱門詞條

聯絡我們