Learning Swift 2 Programming (2nd Revised edition)

Learning Swift 2 Programming (2nd Revised edition)

By: Jacob Schatz (author)Paperback

1 - 2 weeks availability

£21.24 RRP £24.99  You save £3.75 (15%) With FREE Saver Delivery


Get started fast with Swift 2 programming for iOS and OS X Learning Swift 2 Programming is a fast-paced, hands-on introduction to writing production-quality iOS and OS X apps with Apple's programming language. Written for developers with experience in any modern language, this book explains Swift simply and clearly, using relevant examples that solve realistic problems. Author Jacob Schatz's popular YouTube video tutorials have already helped thousands of Apple developers get started with Swift. Now, he helps you take full advantage of Swift's advanced design, remarkable performance, and streamlined development techniques. Step by step, you'll move from basic syntax through advanced features such as closures and generics-discovering helpful tips and tricks along the way. After you've mastered Swift's building blocks and learned about its key innovations, a full section of case studies walks you through building complete apps from scratch. Learn how to: * Compare Swift with Objective-C, JavaScript, Python, Ruby, and C* Collect data with arrays and dictionaries, and store it with variables and constants* Group commonly used code into functions for easy reuse* Structure your code with enums, structs, and classes* Use generics to get more done with less code* Write closures to share small blocks of functionality* Use optionals to write more robust, crash-resistant, and cleaner code* Integrate existing Objective-C code into new Swift apps* Program on the bit and byte levels with advanced operators* Implement efficient design patterns with protocols and delegates* Create animated 2D games with SpriteKit, and apps with UIKit

Create a review

About Author

Jacob Schatz is a senior software engineer with more than eight years of experience writing code for the masses. His code is often used by millions of people, and his advice is often sought. Jacob also goes by the name Skip Wilson and has a popular YouTube channel currently covering Swift and Python. Jacob is always selectively consuming the latest programming trends. He has a passion for making a difference and is constantly solving problems. Lately he has been deep into Swift, but he also writes tons of JavaScript, Python, Objective-C, and other languages. He is always learning more languages and thoroughly enjoys making new things. He is, at heart, a pedagogue, and he enjoys teaching and finding new ways to explain advanced concepts.


Introduction 1 1 Getting Your Feet Wet: Variables, Constants, and Loops 5 Building Blocks of Swift 6 Computed Properties (Getters and Setters) 6 Using Comments 8 Inference 8 Merging Variables into a String 10 Optionals: A Gift to Unwrap 11 Printing Your Results 14 Implicitly Unwrapped Optionals 14 Tuples 15 Number Types 16 From Objective-C to Swift 17 Control Flow: Making Choices 18 Switching It Up: switch Statements 25 Stop...Hammer Time 28 Summary 29 2 Collecting Your Data: Arrays and Dictionaries 31 Using Arrays 31 Your First Array the Long Way 31 A Quicker Array 32 Using AnyObject 32 Differences Between NSArrays and Swift Arrays 33 Modifying Arrays 33 Accessing Array Elements 33 Adding Elements to an Array 34 Removing Elements from Arrays 34 Iterating Over Arrays 35 Extra Bits of Arrays 35 Emptying an Array 36 Using Dictionaries 36 Adding, Removing, and Inserting with Dictionaries 37 Iterating Over Dictionaries 37 Extra Bits of Dictionaries 38 Emptying a Dictionary 38 Testing Dictionaries for the Presence of Values 38 Putting It All Together 39 Summary 41 3 Making Things Happen: Functions 43 Defining Functions 44 Return Types 45 Multiple Return Values 46 More on Parameters 47 External Parameter Names 47 Default Parameter Values 48 Variadic Parameters 49 In-Out Parameters 50 Functions as Types 51 Putting It All Together 52 Summary 55 4 Structuring Code: Enums, Structs, and Classes 57 Enums 58 Which Member Was Set? 59 Associated Values 59 Raw Values 60 Structs 61 Defining Methods in Structs 63 Structs Are Always Copied 64 Mutating Methods 65 Classes 66 Initialization 66 What Is a Reference Type? 68 Do I Use a Struct or a Class? 68 Forgot Your Pointer Syntax? 69 Property Observers 69 Methods in Classes 70 Summary 74 5 SpriteKit 75 Introducing SpriteKit 75 The SKNode and SKSpriteNode 75 Creating a Game 76 The New Project Screen 76 The Game 85 Summary 92 6 Reusable Code: Closures 93 What Are Closures? 93 Closures in Other Languages 94 How Closures Work and Why They're Awesome 95 The Closure Syntax 96 Inferring Using Context 96 Arguments Have a Shorthand, Too 97 Sorting a Custom Car Class 97 Closures Are Reference Types 98 Automatic Reference Counting 99 Strong Reference Cycles 100 Trailing Closures 106 Summary 107 7 Creating Your Own Syntax: Subscripts and Advanced Operators 109 Writing Your First Subscript 110 Bits and Bytes with Advanced Operators 113 Bitwise NOT 114 Bitwise AND 115 Bitwise OR 116 Bitwise XOR 117 Shifting Bits 118 UInt8, UInt16, UInt32, Int8, Int16, Int32, and So On 119 Value Overflow and Underflow 119 Customizing Operators 120 Making Your Own Operators 122 Bits and Bytes in Real Life 123 Summary 127 8 Protocols 129 Writing Your First Protocol 129 Properties 131 Animizable and Humanizable 134 Methods 135 Delegation 136 Protocols as Types 138 Protocols in Collections 139 Protocol Inheritance 140 Protocol Composition 141 Protocol Conformity 143 Optional Protocol Prerequisites 145 Optional Chaining 146 Back to Optional Protocol Requisites 148 Useful Built-in Swift Protocols 149 Summary 151 9 Becoming Flexible with Generics 153 The Problem That Generics Solve 153 Other Uses for Generics 155 Generics for Protocols 157 The where Clause 158 Summary 162 10 Games with SpriteKit 163 The Game 163 The Setup 163 Tour the Code 164 The Game 164 Step 1: Create the World 165 Step 2: Making Things Move 176 Summary 185 11 Making Games with Physics 187 Making a Physics-Based Game 187 Creating the Project 188 Adding the Assets 189 Adding the Levels 189 Generating the Levels 190 Making a Playable Game 197 Creating the Cage 199 Summary 204 12 Making Apps with UIKit 205 Application Types 205 Single-View Applications 206 Creating the User Interface 208 Adding Constraints 209 Hooking Up the UI to Code 211 Writing the Code 212 The TableView 216 Summary 218 Index 219

Product Details

  • publication date: 31/12/2015
  • ISBN13: 9780134431598
  • Format: Paperback
  • Number Of Pages: 256
  • ID: 9780134431598
  • weight: 402
  • ISBN10: 0134431596
  • edition: 2nd Revised edition

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly