Beginning Swift Programming - Wei-Meng Lee - E-Book

Beginning Swift Programming E-Book

Wei-Meng Lee

0,0
27,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Enter the Swift future of iOS and OS X programming Beginning Swift Programming is your ideal starting point for creating Mac, iPhone, and iPad apps using Apple's new Swift programming language. Written by an experienced Apple developer and trainer, this comprehensive guide explains everything you need to know to jumpstart the creation of your app idea. Coverage includes data types, strings and characters, operators and functions, arrays and dictionaries, control flow, and looping, with expert guidance on classes, objects, class inheritance, closures, protocols, and generics. This succinct -- yet complete -- overview provides a detailed introduction to the core features of Swift. Apple developed Swift to address the limitations of Objective-C, and add features found in more complex languages like Python. The results is simpler, cleaner, more expressive code with automatic memory management, functional programming patterns, and more, including built-in features that make Swift apps faster, scalable, and more secure. This book explains it all, helping developers master Apple's new language. * Become fluent with syntax that's easier to read and maintain * Understand inferred types for cleaner, less mistake-prone code * Learn the key features that make Swift more expressive than Objective-C * Learn the new optional types in Swift that make your code more resilient * Understand the key design patterns in iOS and Mac OS programming using protocols and delegates * Learn how to use generics to create highly reusable code * Learn the new access controls mechanism in Swift Get up to speed quickly to remain relevant and ahead of the curve.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 269

Veröffentlichungsjahr: 2014

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



CONTENTS

INTRODUCTION

CHAPTER 1 INTRODUCTION TO SWIFT

What Is Swift?

Why Swift Is Important

Setting Up the Environment

Swift Syntax

Summary

CHAPTER 2 DATA TYPES

Basic Data Types

Tuples

Optional Types

Enumerations

Summary

CHAPTER 3 STRINGS AND CHARACTERS

Strings

Common String Functions

Interoperability with NSString

Summary

CHAPTER 4 BASIC OPERATORS

Assignment Operator

Arithmetic Operators

Comparison Operators

Range Operators

Logical Operators

Summary

CHAPTER 5 FUNCTIONS

Defining and Calling a Function

Function Types

Nested Functions

Summary

CHAPTER 6 COLLECTIONS

Arrays

Dictionaries

Copying the Behavior of Arrays and Dictionaries

Summary

CHAPTER 7 CONTROL FLOW AND LOOPING

Flow Control

Looping

Summary

CHAPTER 8 STRUCTURES AND CLASSES

Structures

Classes

Summary

CHAPTER 9 INHERITANCE

Understanding Inheritance

Types of Initializers

Extensions

Access Controls

Summary

CHAPTER 10 CLOSURES

Understanding Closures

Using the Array’s Three Closure Functions

Using Closures in Your Functions

Summary

CHAPTER 11 PROTOCOLS AND DELEGATES

Understanding Protocols

Understanding Delegates

Summary

CHAPTER 12 GENERICS

Understanding Generics

Generic Types

Summary

APPENDIX EXERCISE ANSWERS

TITLEPAGE

COPYRIGHT

DEDICATION

ABOUT THE AUTHOR

ABOUT THE TECHNICAL EDITOR

CREDITS

ACKNOWLEDGMENTS

ADVERT

END USER LICENSE AGREEMENT

List of Illustrations

Chapter 1

Figure 1.1

 

Figure 1.2

 

Figure 1.3

 

Figure 1.4

 

Figure 1.5

 

Figure 1.6

 

Figure 1.7

 

Figure 1.8

 

Figure 1.9

 

Figure 1.10

 

Figure 1.11

 

Figure 1.12

 

Figure 1.13

 

Figure 1.14

 

Figure 1.15

 

Figure 1.16

 

Figure 1.17

 

Chapter 3

Figure 3.1

Figure 3.2

Figure 3.3

Chapter 5

Figure 5.1

Chapter 6

Figure 6-1

Figure 6-2

Chapter 8

Figure 8-1

 

Figure 8-2

 

Figure 8-3

 

Figure 8-4

 

Chapter 9

Figure 9-1

 

Figure 9-2

 

Figure 9-3

 

Figure 9-4

 

Figure 9-5

 

Figure 9-6

 

Figure 9-7

 

Figure 9-8

 

Figure 9-9

 

Figure 9-10

 

Figure 9-11

 

Figure 9-12

 

Chapter 11

Figure 11-1

 

Guide

Cover

Table of Contents

Chapter

Pages

xxiii

xxiv

xxv

xxvi

xxvii

1

2

3

4

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

105

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

233

234

235

236

237

238

239

240

241

242

243

244

245

247

248

249

250

251

252

253

254

255

INTRODUCTION

The IT world is an extremely fast-changing one. Small changes occur nearly daily, and every now and then something big happens that changes the entire industry, if not the world. For example, the iPhone, introduced in 2007, transformed the mobile industry overnight, spearheading the new era of the smartphones. The launch of the iPad three years later (2010) changed the way we use our computers, causing many to predict that we are all entering the end of the PC era.

For a long time after its inception in the 1980s, Objective-C was used by NeXT for its NeXTStEP operating system. Mac OS X and iOS both derived from NeXTSTEP, and Objective-C was thus the natural choice of language to use for Mac OS and iOS development. Developers starting on iOS development often complain that Objective-C does not look like a modern programming language (such as Java or C#), and that it is difficult to write and requires spending significant amounts of time trying to learn. For seven years, Apple has improved on the language and the iOS framework, making life easier for developers by introducing helpful features, such as Automatic Reference Counting (ARC), which takes the drudgery out of memory management, and Storyboard, which simplifies the flow of your application user interface. However, this did not stop all the complaints. Furthermore, Apple needed a new language that could take iOS and Mac OS development to the next level.

In 2014, at the Apple World Wide Developers Conference (WWDC), Apple took many developers by surprise by introducing a new programming language: Swift. After seven years, Apple finally released a new language that can replace Objective-C! As you will see throughout this book, Swift is a modern programming language with an easy-to-read syntax, and strict enforcement of type safety.

This book was written with busy developers in mind. It aims to cut through all the technical jargon and dive straight into the language. Of course, the best way to learn any new language is to see code examples, and this book is loaded with them. To get the most from the material, therefore, I strongly recommend that you work through the examples in each chapter as you read them.

WHO THIS BOOK IS FOR

This book is targeted at both beginning iOS developers and experienced Objective-C developers. It assumes a foundation in programming, and an understanding of object-oriented programming (OOP) concepts is required to get the most out of this book.

All the code samples in the chapters were written and tested using the final version of Xcode 6. Because the Swift language is still evolving, expect to see minor tweaks by the time this book is on the market.

HOW THIS BOOK IS STRUCTURED

This book covers the key topics of Swift programming using Xcode 6. It is divided into the following 12 chapters:

Chapter 1, “Introduction to Swift,” covers the basic syntax of Swift and how to set up the development environment so that you can test your Swift code.

Chapter 2, “Data Types,” covers the basic data types supported in Swift and how to perform the common operations involving them. It also covers the new tuple and optional data types introduced in Swift.

Chapter 3, “Strings and Characters,” discusses how strings and characters are managed in Swift. In particular, special emphasis is placed on how the string type in Swift is backwardly compatible with the NSString in Objective-C. Also covered are things you need to be aware of when dealing with Unicode characters.

Chapter 4, “Basic Operators,” covers all the commonly used operators supported by Swift. In addition, it discusses the new range operators introduced in Swift.

Chapter 5, “Functions,” explains how functions are defined in Swift and the use of internal and external parameter names when calling them.

Chapter 6, “Collections,” covers the collection types supported in Swift—arrays and dictionaries.

Chapter 7, “Control Flow and Looping,” covers how to make decisions in Swift and how to use the looping statements to execute your Swift code repetitively.

Chapter 8, “Structures and Classes,” covers the basics of these programming constructs. It also demonstrates how to define properties and methods in your classes and structures.

Chapter 9, “Inheritance,” covers how to create subclasses in Swift and how access control rules affect the accessibility of a member. It also explains how to extend a class using the extension feature.

Chapter 10, “Closures,” covers everything you need to know about these blocks of functionality and demonstrates how they enable you to write versatile code in Swift.

Chapter 11, “Protocols and Delegates,” discusses a very important part of Swift’s design pattern. The protocol and delegate model is the basis on which most of the APIs in iOS and Mac OS programming are based.

Chapter 12, “Generics,” covers how Swift embraces this familiar programming concept, which enables the developer to write highly adaptable code that promotes sharing and reusing.

The appendix offers the answers to the exercises found at the end of each chapter.

WHAT YOU NEED TO USE THIS BOOK

In order to follow the examples provided in this book, you need a Mac to install Xcode 6. Xcode 6 is available for download, free, from the Mac App Store. No iOS device is needed to test the code in this book. For testing, you can create either a Playground project or an iOS project, which you can then test on the included iPhone Simulator.

CONVENTIONS

To help you get the most from the text and keep track of what’s happening, we’ve used a number of conventions throughout the book.

NOTE Notes indicates notes, tips, hints, tricks, and asides to the current discussion.

WARNING Warnings hold important, not-to-be-forgotten information that is directly relevant to the surrounding text.

As for styles in the text:

We

highlight

new terms and important words when we introduce them.

We show keyboard strokes like this: Command+A.

We show file names, URLs, and code within the text like so:

persistence.properties

.

We present code in two different ways:

We use a monofont type with no highlighting for most code examples.

We use bold to emphasize code that is particularly important in the present context or to show changes from a previous code snippet.

SOURCE CODE

As you work through the examples in this book, you should type all the code into Xcode and observe the results. Remember, the best way to learn a language is to experience it yourself and make mistakes. For Chapter 11, you can find the source code for the LBS project at www.wrox/com/go/beginningswift. When at the site, simply locate the book’s title (use the Search box or one of the title lists) and click the Download Code link on the book’s detail page to obtain all the source code for the book.

After you download the code, just decompress it with your favorite compression tool. Alternatively, go to the main Wrox code download page at www.wrox.com/dynamic/books/download.aspx to see the code available for this book and all other Wrox books.

NOTE Because many books have similar titles, you may find it easiest to search by ISBN; this book’s ISBN is 978-1-119-00931-3.

ERRATA

We make every effort to ensure that there are no errors in the text or in the code. However, no one is perfect, and mistakes do occur. If you find an error in one of our books, such as a spelling mistake or a faulty piece of code, we would be very grateful for your feedback. By sending in errata, you may save another reader hours of frustration and at the same time help us provide even higher-quality information.

To find the errata page for this book, go to www.wrox.com and locate the title using the Search box or one of the title lists. Then, on the book details page, click the Book Errata link. On this page, you can view all errata that has been submitted for this book and posted by Wrox editors. A complete book list, including links to each book’s errata, is also available at www.wrox.com/misc-pages/booklist.shtml.

If you don’t spot “your” error on the Book Errata page, go to www.wrox.com/contact/techsupport.shtml and complete the form there to send us the error you have found. We’ll check the information and, if appropriate, post a message to the book’s errata page and fix the problem in subsequent editions of the book.

P2P.WROX.COM

For author and peer discussion, join the P2P forums at p2p.wrox.com. The forums are a web-based system for you to post messages relating to Wrox books and related technologies and to interact with other readers and technology users. The forums offer a subscription feature to e-mail you topics of interest of your choosing when new posts are made to the forums. Wrox authors, editors, other industry experts, and your fellow readers are present on these forums.

At p2p.wrox.com, you will find a number of different forums that will help you not only as you read this book but also as you develop your own applications. To join the forums, just follow these steps:

Go to

p2p.wrox.com

and click the Register link.

Read the terms of use and click Agree.

Complete the required information to join as well as any optional information you want to provide and click Submit.

You will receive an e-mail with information describing how to verify your account and complete the joining process.

NOTE You can read messages in the forums without joining P2P, but in order to post your own messages, you must join.

After you join, you can post new messages and respond to messages that other users post. You can read messages at any time on the web. If you want to have new messages from a particular forum e-mailed to you, click the Subscribe to This Forum icon by the forum name in the forum listing.

For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to questions about how the forum software works, as well as for many common questions specific to P2P and Wrox books. To read the FAQs, click the FAQ link on any P2P page.