ORPP logo
Image from Google Jackets

Learning Swift : Build a Solid Foundation in Swift to Develop Smart and Robust IOS and OS X Applications.

By: Material type: TextTextPublisher: Birmingham : Packt Publishing, Limited, 2015Copyright date: ©2015Edition: 1st edDescription: 1 online resource (266 pages)Content type:
  • text
Media type:
  • computer
Carrier type:
  • online resource
ISBN:
  • 9781784399627
Subject(s): Genre/Form: Additional physical formats: Print version:: Learning SwiftLOC classification:
  • QA76.76.A65
Online resources:
Contents:
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 -- 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 initializers -- Required initializers -- 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 is scope defined -- Nested types -- Access control -- Summary -- Chapter 4: To Be or Not to Be - Optionals -- Introducing optionals -- 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 -- The filter function -- The reduce function -- The map function -- The sorted function -- How these affect the state and nature of code -- Lazy evaluation -- Curried functions -- Summary -- Chapter 6: Make Swift Work for You - Protocols and Generics -- Protocols -- Defining a protocol -- Implementing a protocol -- Using type aliases -- Defining a generic -- The generic function -- The generic type -- Type constraints -- Protocol constraints -- Where clauses for protocols -- Where clauses for equality -- Extending the existing generics -- Enhancing arrays -- Enhancing dictionaries -- Putting protocols and generics to use -- Generators -- Sequences -- Product of Fibonacci numbers under 50 -- Summary -- Chapter 7: Everything is Connected - Memory Management -- How data is stored on a computer -- Filesystem -- Memory -- Value types versus reference types -- Determining if a value or reference type -- Behavior on assignment -- Behavior on input -- Capture behavior of Closure -- Automatic reference counting -- Object relationships -- Strong relationships -- Weak relationships -- Unowned relationships -- Strong reference cycles -- Strong reference cycles between objects -- Spotting -- Fixing the cycles -- With closures -- Spotting -- Fixing -- Lost objects -- Between objects -- With closures -- Summary -- Chapter 8: Writing Code the Swift Way - Design Patterns and Techniques -- What is a design pattern? -- Behavioral patterns -- The iterator pattern.
The observer pattern -- The callback property -- The notification center -- Structural patterns -- The composite pattern -- Hierarchies -- An alternative to subclassing -- The delegate pattern -- Model view controller -- Creational patterns -- Singleton/shared instance -- The abstract factory pattern -- Using associated values effectively -- Replacing class hierarchies -- Concisely representing a state -- Extending system types to reduce code -- Lazy properties -- Avoiding unnecessary memory usage -- Avoiding unnecessary processing -- Localizing logic to the concerned property -- Summary -- Chapter 9: Harnessing the Past - Understanding and Translating Objective-C -- Swift's relationship with Objective-C -- The history of Objective-C -- Constants and variables -- Value types -- Reference types -- Containers -- Arrays -- Dictionaries -- Control flow -- Conditionals -- Switches -- Loops -- Functions -- Types -- Structures -- Enumerations -- Classes -- The basic class -- Initializers -- Properties -- Methods -- Inheritance -- Categories -- Protocols -- Blocks -- Projects -- Header files -- An implementation file -- Organization -- Calling Objective-C code from Swift -- A bridging header -- Using functions -- Using types -- Containers -- Reference type translation -- Summary -- Chapter 10: A Whole New World - Developing an App -- Conceptualizing the app -- Features -- The 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 11: What's Next? Resources, Advice, and Next Steps -- Apple's documentation -- Forums and blogs -- Blog posts -- Forums -- Prominent figures -- Podcasts -- Summary -- Index.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
No physical items for this record

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 -- 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 initializers -- Required initializers -- 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 is scope defined -- Nested types -- Access control -- Summary -- Chapter 4: To Be or Not to Be - Optionals -- Introducing optionals -- 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 -- The filter function -- The reduce function -- The map function -- The sorted function -- How these affect the state and nature of code -- Lazy evaluation -- Curried functions -- Summary -- Chapter 6: Make Swift Work for You - Protocols and Generics -- Protocols -- Defining a protocol -- Implementing a protocol -- Using type aliases -- Defining a generic -- The generic function -- The generic type -- Type constraints -- Protocol constraints -- Where clauses for protocols -- Where clauses for equality -- Extending the existing generics -- Enhancing arrays -- Enhancing dictionaries -- Putting protocols and generics to use -- Generators -- Sequences -- Product of Fibonacci numbers under 50 -- Summary -- Chapter 7: Everything is Connected - Memory Management -- How data is stored on a computer -- Filesystem -- Memory -- Value types versus reference types -- Determining if a value or reference type -- Behavior on assignment -- Behavior on input -- Capture behavior of Closure -- Automatic reference counting -- Object relationships -- Strong relationships -- Weak relationships -- Unowned relationships -- Strong reference cycles -- Strong reference cycles between objects -- Spotting -- Fixing the cycles -- With closures -- Spotting -- Fixing -- Lost objects -- Between objects -- With closures -- Summary -- Chapter 8: Writing Code the Swift Way - Design Patterns and Techniques -- What is a design pattern? -- Behavioral patterns -- The iterator pattern.

The observer pattern -- The callback property -- The notification center -- Structural patterns -- The composite pattern -- Hierarchies -- An alternative to subclassing -- The delegate pattern -- Model view controller -- Creational patterns -- Singleton/shared instance -- The abstract factory pattern -- Using associated values effectively -- Replacing class hierarchies -- Concisely representing a state -- Extending system types to reduce code -- Lazy properties -- Avoiding unnecessary memory usage -- Avoiding unnecessary processing -- Localizing logic to the concerned property -- Summary -- Chapter 9: Harnessing the Past - Understanding and Translating Objective-C -- Swift's relationship with Objective-C -- The history of Objective-C -- Constants and variables -- Value types -- Reference types -- Containers -- Arrays -- Dictionaries -- Control flow -- Conditionals -- Switches -- Loops -- Functions -- Types -- Structures -- Enumerations -- Classes -- The basic class -- Initializers -- Properties -- Methods -- Inheritance -- Categories -- Protocols -- Blocks -- Projects -- Header files -- An implementation file -- Organization -- Calling Objective-C code from Swift -- A bridging header -- Using functions -- Using types -- Containers -- Reference type translation -- Summary -- Chapter 10: A Whole New World - Developing an App -- Conceptualizing the app -- Features -- The 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 11: What's Next? Resources, Advice, and Next Steps -- Apple's documentation -- Forums and blogs -- Blog posts -- Forums -- Prominent figures -- Podcasts -- Summary -- Index.

Description based on publisher supplied metadata and other sources.

Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.

There are no comments on this title.

to post a comment.

© 2024 Resource Centre. All rights reserved.