Learning Swift - Second Edition

 
 
Packt Publishing Limited
  • 1. Auflage
  • |
  • erschienen am 23. März 2016
  • |
  • 308 Seiten
 
E-Book | ePUB mit Adobe DRM | Systemvoraussetzungen
978-1-78588-381-1 (ISBN)
 
Develop the skills required to create compelling, maintainable, and robust iOS and OS X apps with SwiftAbout This BookWrite expressive, understandable, and maintainable Swift 2 code with this hands-on tutorialUnveil the complex underpinnings of Swift to turn your app ideas into realityThis book is packed with real-life examples to help you implement concepts as you learnWho This Book Is ForIf you are looking to build iOS or OS X apps using the most modern technology, this book is ideal for you. You will find this book especially useful if you are new to programming or if you are yet to develop for iOS or OS X. No prior programming exposure is required.What You Will LearnForm a solid understanding of the Swift 2 languageGet to know the practical aspects of how a computer program actually worksUnderstand the paradigms used by Apple's frameworks so you are not intimidated by themUtilize the vast resources written in Objective-C to better inform your Swift programmingDevelop a basic portfolio of Swift code by learning the critical conceptsExperience both object-oriented and functional programmingGet to know the new coding techniques made available by Swift 2Discover resources to ensure you never stop becoming a better developerIn DetailSwift is Apple's new programming language and the future of iOS and OS X app development. It is a high-performance language that feels like a modern scripting language. On the surface, Swift is easy to jump into, but it has complex underpinnings that are critical to becoming proficient at turning an idea into reality.This book is an approachable, step-by-step introduction into programming with Swift for everyone. It begins by giving you an overview of the key features through practical examples and progresses to more advanced topics that help differentiate the proficient developers from the mediocre ones. It covers important concepts such as Variables, Optionals, Closures, Generics, and Memory Management. Mixed in with those concepts, it also helps you learn the art of programming such as maintainability, useful design patterns, and resources to further your knowledge. This all culminates in writing a basic iOS app that will get you well on your way to turning your own app ideas into reality.Style and approachThis is an approachable, step-by-step guide to programming in Swift 2. Each topic is separated into compressible sections that are full of practical examples and easy-to-understand explanations. Each section builds on the previous topics so you can develop a proficient and comprehensive understanding of app development in Swift 2.
  • Englisch
  • Birmingham
  • Überarbeitete Ausgabe
978-1-78588-381-1 (9781785883811)
178588381x (178588381x)
weitere Ausgaben werden ermittelt
  • Cover
  • Copyright
  • Credits
  • About the Author
  • About the Reviewer
  • www.PacktPub.com
  • Table of Contents
  • Preface
  • Chapter 1: Introducing Swift
  • Defining our goals for this book
  • Setting up the development environment
  • Running our first swift code
  • Understanding playgrounds
  • Learning with this book
  • Summary
  • Chapter 2: Building Blocks - Variables, Collections, and Flow Control
  • Core Swift types
  • Constants and variables
  • Containers
  • Tuples
  • Arrays
  • Dictionaries
  • Swift's type system
  • Printing to the console
  • Control flow
  • Conditionals
  • Switches
  • Loops
  • Functions
  • Basic functions
  • Parameterized functions
  • Functions that return values
  • Functions with default arguments
  • Guard statement
  • Bringing it all together
  • Summary
  • Chapter 3: One Piece at a Time - Types, Scopes, and Projects
  • Structs
  • Types versus instances
  • Properties
  • Member and static methods
  • Computed properties
  • Reacting to property changes
  • Subscripts
  • Custom initialization
  • Classes
  • Inheriting from another class
  • Initialization
  • Overriding initializer
  • Required initializer
  • Designated and convenience initializers
  • Overriding methods and computed properties
  • Methods
  • Computed properties
  • Casting
  • Upcasting
  • Downcasting
  • Enumerations
  • Basic declaration
  • Testing enumeration values
  • Raw values
  • Associated values
  • Methods and properties
  • Projects
  • Setting up a command-line Xcode project
  • Creating and using an external file
  • Interfacing with code from other files
  • File organization and navigation
  • Extensions
  • Scope
  • How scope is defined
  • Nested types
  • Access control
  • Summary
  • Chapter 4: To Be or Not to Be - Optionals
  • Defining an optional
  • Unwrapping an optional
  • Optional binding
  • Forced unwrapping
  • Nil coalescing
  • Optional chaining
  • Implicitly unwrapped optionals
  • Debugging optionals
  • The underlying implementation
  • Summary
  • Chapter 5: A Modern Paradigm - Closures and Functional Programming
  • Functional programming philosophy
  • State and side effects
  • Declarative versus imperative code
  • Closures
  • Closures as variables
  • Closures as parameters
  • Syntactic sugar
  • Building blocks of functional programming in Swift
  • Filter
  • Reduce
  • Map
  • Sort
  • How these affect the state and nature of code
  • Lazy evaluation
  • Example
  • Summary
  • Chapter 6: Make Swift Work for You - Protocols and Generics
  • Protocols
  • Defining a protocol
  • Implementing a protocol
  • Using type aliases
  • Generics
  • Generic function
  • Generic type
  • Type constraints
  • Protocol constraints
  • Where clauses for protocols
  • Where clauses for equality
  • Extending generics
  • Adding methods to all forms of a generic
  • Adding methods to only certain instances of a generic
  • Extending protocols
  • Putting protocols and generics to use
  • Generators
  • Sequences
  • Product of Fibonacci numbers under 50
  • Summary
  • Chapter 7: Everything is Connected - Memory Management
  • Computer data storage
  • File system
  • Memory
  • Value types versus reference types
  • Determining value type or reference type
  • Behavior on assignment
  • Behavior on input
  • Closure capture behavior
  • Automatic reference counting
  • Object relationships
  • Strong
  • Weak
  • Unowned
  • Strong reference cycles
  • Between objects
  • Spotting
  • Fixing
  • With closures
  • Spotting
  • Fixing
  • Lost objects
  • Between objects
  • With closures
  • Structures versus classes
  • Summary
  • Chapter 8: Paths Less Travelled - Error Handling
  • Throwing errors
  • Defining an error type
  • Defining a function that throws an error
  • Implementing a function that throws an error
  • Handling errors
  • Forceful try
  • Optional try
  • Catching an error
  • Propagating errors
  • Cleaning up in error situations
  • Order of execution when errors occur
  • Deferring execution
  • Summary
  • Chapter 9: Writing Code the Swift Way - Design Patterns and Techniques
  • What is a design pattern?
  • Behavioral patterns
  • Iterator
  • Observer
  • Callback
  • Notification center
  • Structural patterns
  • Composite
  • Hierarchies
  • Alternative to subclassing
  • Delegate
  • Model view controller
  • Creational patterns
  • Singleton/shared instance
  • Abstract factory
  • Using associated values effectively
  • Replacing class hierarchies
  • Concisely representing state
  • Extending system types to reduce code
  • Lazy properties
  • Avoiding unnecessary memory usage
  • Avoiding unnecessary processing
  • Localizing logic to the concerned property
  • Summary
  • Chapter 10: Harnessing the Past - Understanding and Translating Objective-C
  • Swift's relationship to Objective-C
  • Background of Objective-C
  • Constants and variables
  • Value types
  • Reference types
  • Containers
  • Arrays
  • Dictionaries
  • Control flow
  • Conditionals
  • Switches
  • Loops
  • Functions
  • Types
  • Structures
  • Enumerations
  • Classes
  • Basic class
  • Initializers
  • Properties
  • Methods
  • Inheritance
  • Categories
  • Protocols
  • Blocks
  • Projects
  • Header files
  • Implementation files
  • Organization
  • Calling Objective-C code from Swift
  • Bridging header
  • Using functions
  • Using types
  • Containers
  • Annotations
  • Nullability
  • Container element types
  • Summary
  • Chapter 11: A Whole New World - Developing an App
  • Conceptualizing the app
  • Features
  • Interface
  • Data
  • Setting up the app project
  • Configuring the user interface
  • Running the app
  • Allowing picture taking
  • Temporarily saving a photo
  • Populating our photo grid
  • Refactoring to respect model-view-controller
  • Permanently saving a photo
  • Summary
  • Chapter 12: What's Next? - Resources, Advice, and the Next Steps
  • Apple's documentation
  • Forums and blogs
  • Blog posts
  • Forums
  • Prominent figures
  • Podcasts
  • Summary
  • Index

Dateiformat: EPUB
Kopierschutz: Adobe-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

32,73 €
inkl. 19% MwSt.
Download / Einzel-Lizenz
ePUB mit Adobe DRM
siehe Systemvoraussetzungen
E-Book bestellen

Unsere Web-Seiten verwenden Cookies. Mit der Nutzung des WebShops erklären Sie sich damit einverstanden. Mehr Informationen finden Sie in unserem Datenschutzhinweis. Ok