Читать книгу Beginning Swift Programming - Lee Wei-Meng - Страница 1

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:

1. Go to p2p.wrox.com and click the Register link.

2. Read the terms of use and click Agree.

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

4. 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.

Beginning Swift Programming

Подняться наверх