Book Image

Swift High Performance

By : Kostiantyn Koval
Book Image

Swift High Performance

By: Kostiantyn Koval

Overview of this book

Swift is one of the most popular and powerful programming languages for building iOS and Mac OS applications, and continues to evolve with new features and capabilities. Swift is considered a replacement to Objective-C and has performance advantages over Objective-C and Python. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Develop Swift and discover best practices that allow you to build solid applications and optimize their performance. First, a few of performance characteristics of Swift will be explained. You will implement new tools available in Swift, including Playgrounds and REPL. These will improve your code efficiency, enable you to analyse Swift code, and enhance performance. Next, the importance of building solid applications using multithreading concurrency and multi-core device architecture is covered, before moving on to best practices and techniques that you should utilize when building high performance applications, such as concurrency and lazy-loading. Finally, you will explore the underlying structure of Swift further, and learn how to disassemble and compile Swift code.
Table of Contents (15 chapters)
Swift High Performance
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Generics


Generics are a way of writing generic, reusable code without specifying a type. You can write a generic function that may not be limited to one type. It's possible to create generic functions as well as generic types that add type restrictions. You have used generic types in this book even without noticing it.

The main idea behind generics is that instead of specifying a type, you use a generic type placeholder. Generics are a great tool for removing code duplication and making code reusable.

The first step is to identify the code that can be generic. The best way to do this is by asking, "Is this functionality limited only to this type or not?" If you realize that it is not, you should consider making it generic.

Tip

Make functions generic only if you need to do so and if you are going to use them with different types. Making them generic could have a slightly negative impact on performance.

Let's create our first simple generic function. Our printMe function can work only with integers...