万本电子书0元读

万本电子书0元读

顶部广告

Learning Swift电子书

售       价:¥

8人正在读 | 0人评论 9.8

作       者:Andrew J Wagner

出  版  社:Packt Publishing

出版时间:2015-06-30

字       数:157.1万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
If you are looking to build iOS or OS X apps using the most modern technology, this book is ideal for you. You will find this book especially useful if you are new to programming or if you have yet to develop for iOS or OS X.
目录展开

Learning Swift

Table of Contents

Learning Swift

Credits

About the Author

About the Reviewer

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Free access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

1. Introducing Swift

Defining our goals for this book

Setting up the development environment

Running our first Swift code

Understanding playgrounds

Learning with this book

Summary

2. Building Blocks – Variables, Collections, and Flow Control

Core Swift types

Constants and variables

Containers

Tuples

Arrays

Dictionaries

Swift's type system

Printing on the console

Control flow

Conditionals

Switches

Loops

Functions

Basic functions

Parameterized functions

Functions that return values

Functions with default arguments

Bringing it all together

Summary

3. One Piece at a Time – Types, Scopes, and Projects

Structs

Types versus instances

Properties

Member and static methods

Computed properties

Reacting to property changes

Subscripts

Custom initialization

Classes

Inheriting from another class

Initialization

Overriding initializers

Required initializers

Designated and convenience initializers

Overriding methods and computed properties

Methods

Computed properties

Casting

Upcasting

Downcasting

Enumerations

Basic declaration

Testing enumeration values

Raw values

Associated values

Methods and properties

Projects

Setting up a command-line Xcode project

Creating and using an external file

Interfacing with code from other files

File organization and navigation

Extensions

Scope

How is scope defined

Nested types

Access control

Summary

4. To Be or Not to Be – Optionals

Introducing optionals

Unwrapping an optional

Optional binding

Forced unwrapping

Nil coalescing

Optional chaining

Implicitly unwrapped optionals

Debugging optionals

The underlying implementation

Summary

5. A Modern Paradigm – Closures and Functional Programming

Functional programming philosophy

State and side effects

Declarative versus imperative code

Closures

Closures as variables

Closures as parameters

Syntactic sugar

Building blocks of functional programming in Swift

The filter function

The reduce function

The map function

The sorted function

How these affect the state and nature of code

Lazy evaluation

Curried functions

Summary

6. Make Swift Work for You – Protocols and Generics

Protocols

Defining a protocol

Implementing a protocol

Using type aliases

Defining a generic

The generic function

The generic type

Type constraints

Protocol constraints

Where clauses for protocols

Where clauses for equality

Extending the existing generics

Enhancing arrays

Enhancing dictionaries

Putting protocols and generics to use

Generators

Sequences

Product of Fibonacci numbers under 50

Summary

7. Everything is Connected – Memory Management

How data is stored in a computer

Filesystem

Memory

Value types versus reference types

Determining a value or reference type

Behavior on assignment

Behavior on input

Capturing behavior of closure

Automatic reference counting

Object relationships

Strong relationships

Weak relationships

Unowned relationships

Strong reference cycles

Strong reference cycles between objects

Spotting

Fixing the cycles

With closures

Spotting

Fixing

Lost objects

Between objects

With closures

Summary

8. Writing Code the Swift Way – Design Patterns and Techniques

What is a design pattern?

Behavioral patterns

The iterator pattern

The observer pattern

The callback property

The notification center

Structural patterns

The composite pattern

Hierarchies

An alternative to subclassing

The delegate pattern

Model-View-Controller

Creational patterns

A singleton/shared instance

The abstract factory pattern

Using associated values effectively

Replacing class hierarchies

Concisely representing a state

Extending system types to reduce code

Lazy properties

Avoiding unnecessary memory usage

Avoiding unnecessary processing

Localizing logic to the concerned property

Summary

9. Harnessing the Past – Understanding and Translating Objective-C

Swift's relationship with Objective-C

The history of Objective-C

Constants and variables

Value types

Reference types

Containers

Arrays

Dictionaries

Control flow

Conditionals

Switches

Loops

Functions

Types

Structures

Enumerations

Classes

The basic class

Initializers

Properties

Methods

Inheritance

Categories

Protocols

Blocks

Projects

Header files

An implementation file

Organization

Calling Objective-C code from Swift

A bridging header

Using functions

Using types

Containers

Reference type translation

Summary

10. A Whole New World – Developing an App

Conceptualizing the app

Features

The interface

Data

Setting up the app project

Configuring the user interface

Running the app

Allowing picture taking

Temporarily saving a photo

Populating our photo grid

Refactoring to respect Model-View-Controller

Permanently saving a photo

Summary

11. What's Next? Resources, Advice, and Next Steps

Apple's documentation

Forums and blogs

Blog posts

Forums

Prominent figures

Podcasts

Summary

Index

累计评论(0条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部