Librería Portfolio Librería Portfolio

Búsqueda avanzada

TIENE EN SU CESTA DE LA COMPRA

0 productos

en total 0,00 €

SWIFT DEVELOPER´S COOKBOOK (INCLUDES CONTENT UPDATE PROGRAM)
Título:
SWIFT DEVELOPER´S COOKBOOK (INCLUDES CONTENT UPDATE PROGRAM)
Subtítulo:
Autor:
SADUN, E
Editorial:
PEARSON
Año de edición:
2016
Materia
MACINTOSH
ISBN:
978-0-13-439526-5
Páginas:
240
36,50 €

 

Sinopsis

In The Swift Developer's Cookbook, renowned author Erica Sadun joins powerful strategies with ready-to-use Swift code for solving everyday development challenges.

As in all of Sadun's programming best-sellers, The Swift Developer's Cookbook translates modern best practices into dozens of well-tested, easy-to-apply solutions. This book's code examples were created in response to real-world questions from working developers to reflect Swift's newest capabilities and best practices. Each chapter groups related tasks together. You can jump straight to your solution without having to identify the right class or framework first.

Sadun covers key Swift development concepts, shows you how to write robust and efficient code, and helps you avoid common pitfalls other developers struggle with. She offers expert strategies for working with this immensely powerful language, taking into account Swift's rapid evolution and its migration tools.

Whether you're moving to modern Swift from Objective-C, from older versions of the Swift language, or from the world of non-Apple languages, this guide will help you master both the "howö and "whyö of effective Swift development. Industry recruiters are scrambling to find Swift developers who can solve real problems and produce effective working code. Get this book, and you'll be ready.

Coverage includes

Writing effective Swift code that communicates clearly and coherently to the compiler, your team, and to "future you,ö who will be maintaining this code
Using Xcode to handle changes in Swift's language constructs as the language evolves
Building feedback, documentation, and output to meet your development and debugging needs
Making the most of optionals and their supporting constructs
Using closures to encapsulate state and functionality and treat actions as variables for later execution
Leveraging control flow with innovative Swift-specific statements
Working with all Swift types: classes, enumerations, and structures
Using generics and protocols to build robust code that expands functionality beyond single types
Making the most of the powerful Swift error system
Working with innovative features such as array indexing, general subscripting, statement labels, custom operators, and more


This book is part of the Pearson Content Update Program (CUP). As the technology changes, sections of this book will be updated or new sections will be added. The updates will be delivered to you via a free Web Edition of this book, which can be accessed with any Internet connection.



Preface xiii
How This Book Is Organized xiii
About the Sample Code xiv
Contacting the Author xv
Chapter 1: Welcome to Modern Swift 1
Migrating Code 2
How to Migrate 2
Migration Lessons 4
Using Swift 4
Compiled Applications 4
Frameworks and Libraries 5
Scripting 5
REPL 6
Playgrounds 7
Other Swift 8
Learning Swift 8
Wrap-up 9
Chapter 2: Printing and Mirroring 11
Basic Printing 11
Printing Multiple Items 12
Adding Item Separators 13
String Interpolation 13
Controlling Line Feeds 14
Recipe: Printing to Custom Destinations 15
Printing to Strings 16
Printing to Custom Output Streams 17
Recipe: Printing and String Formats 18
Swift and Format Specifiers 19
Format Limitations 19
Conditional Compilation 20
Debug Printing 21
Custom Stream Output 21
Recipe: Postfix Printing 23
Quick Looks 24
Quick Look for Custom Types 24
Quick Looks for Custom Types in Playgrounds 25
Playground Quick Looks 25
Creating Custom Quick Looks for Playgrounds 26
Built-in Quick Look Types 27
Third-Party Rendering 28
Using Dump Functions 30
Building Custom Mirrors 31
Recursive Reflection 32
Building Basic Mirror Descriptions Using Protocol Conformance 33
Adding Header Docs 35
Building Header Documentation 35
Markdown Support 36
Keywords 37
Special Swift Concerns 40
Adding Images to Header Docs 40
Wrap-up 41
Chapter 3: Optionals?! 43
Optionals 101 43
Unwrapping Optionals 45
Forced Unwrapping 45
Conditional Binding 46
Conditional Binding and Type Casts 46
Binding Cascades 48
guard Statements 50
Implicitly Unwrapped Optionals 51
Guarding Failable Initializers 52
Optionals and Sentinel Values 53
Coalescing 55
Optional Assignment 55
Optional Patterns 56
Optional Chaining 58
Selector Testing and Optional Chaining 59
Subscripts 60
Optional Mapping 61
Maps and Chaining 61
Filtering nil Values with flatMap 62
Unmanaged Wrappers 62
Wrap-up 64
Chapter 4: Closures and Functions 65
Building a Function 65
Parameter Names 66
Label Conventions 66
Naming Methods and Functions 68
External and Local Parameters 69
Defaults 70
Constant and Variable Parameters 71
Modifying Parameters 72
Closures and Functions 73
Function Types 73
Using Tuple Arguments 74
Using Shorthand Argument Names 74
Inferred Closure Types 76
Parameter Type Inference 77
Declaring Type Aliases 78
Nested Functions 79
Tuples 80
From Tuples to Structs 82
Tuple Return Types 82
Variadic Parameters 83
Capturing Values 85
Autoclosures 87
Adding Default Closures 90
Currying 91
Why Curry? 92
Building Libraries 92
Partial Application 93
Currying Costs 94
Currying and Callbacks 94
Practical Currying 95
Passing Closures as Function Parameters 97
Wrap-up 99
Chapter 5: Generics and Protocols 101
Expanding to Generics 101
Protocols 102
Tokens 103
Type Constraints 104
Adopting Protocols 104
Declaring Protocols 105
Member Declarations 107
Building a Basic Protocol 109
Adding Protocol Default Implementations 110
Optional Protocol Requirements 111
Swift-Native Optional Protocol Requirements 112
Building Generic Types 113
Type Parameters 113
Generic Requirements 114
Conformance Requirements 115
Recipe: Same-Type Requirements 115
Generic Beautification 117
Legal Tokens 117
Matching Aliases 118
Protocol Alias Defaults 119
Collating Associated Types 119
Extending Generic Types 120
Using Protocols as Types 121
Protocol-Based Collections 121
Self Requirements 122
Protocol Objects and Self Requirements 123
Leveraging Protocols 124
Wrap-up 124
Chapter 6: Errors 125
Failing Hard 125
Fatal Errors 126
Assertions 126
Preconditions 127
Aborting and Exiting 128
Failing Gracefully 128
The ErrorType Protocol 129
Choosing Between Optionals and Error Handling 130
Swift Error Rules 130
Rule 1: Move Away from nil Sentinels 131
Rule 2: Use throw to Raise Errors 132
Rule 3: Use Error Types with Visible Access 133
Rule 4: Mark All Error-Participating Methods with throws 134
Rule 5: Use rethrows Consistently 134
Rule 6: Consume Errors Where They Matter 135
Rule 7: Terminate Threaded Error Chains 135
Building Errors 137
Good Errors 138
Naming Your Errors 138
Adding String Descriptions 139
Adding Reasons 139
Simplifying Output 140
Extending String 140
Type-Specific Errors 141
Retrieving Context 141
Contextualizing Strings 142
Contextualizing Throwing Types 143
Simplifying Contexts 144
Calling Throwing Functions 145
U