Wiley wishes all our readers a very Happy Diwali                                                               Ace the GATE 2018! click to know more

Professional iOS Programming with Swift

In stock
Author : Michael Dippery
Price : INR 699
ISBN 13 : 9788126556854
Pages : 308
Type : Paperbound

Professional Swift shows you how to create Mac and iPhone applications using Apple's new programming language. This code-intensive, practical guide walks you through Swift best practices as you learn the language, build an application and refine it using advanced concepts and techniques. Organized for easy navigation, this book can be read end-to-end for a self-paced tutorial or used as an on-demand desk reference as unfamiliar situations arise.



Part I: Building Applications with Swift

Chapter 1: A Swift Primer

  • What is Swift?  
  • Why Learn Swift?  
  • Working with Constants and Variables  
  • Understanding Swift Data Types
  • Using Numerical Types
  • Boolean Types
  • Using Character Types
  • Using Arrays
  • Using Dictionaries
  • Using Tuples
  • Working with Type Annotations
  • Minimizing Annotation with Type Inference
  • Clarifying Code with Type Aliasing
  • Working with Operators
  • Using Basic Operators
  • Using Compound Assignment Operators
  • Using Overflow Operators
  • Using Range Operators
  • Using Logical Operators
  • Using Comparison Operators
  • Using Custom Operators
  • Making Decisions with Control Flow
  • Using Conditional Statements
  • Using Loops
  • Control Transfer Statements
  • Grouping Types with Enumerations
  • Working with Functions
  • Declaring Functions
  • Specifying Parameter Names
  • Defining Default Parameters
  • Specifying Variadic Parameters
  • Specifying Constant, Variable and In-Out Parameters
  • Function Types
  • Using Closures


Chapter 2: Writing A Swift Program

  • Setting Up Xcode
  • Downloading from Apple's Developer Portal
  • Downloading Xcode
  • Experimenting with Playgrounds
  • Using Playgrounds in Xcode
  • A Simple Example in Playground  
  • A More Exciting Playground Example
  • Writing Swift in Xcode
  • Creating a New Swift Project
  • Creating the Swiftisms App
  • Creating the Interface
  • Creating Connections between the View Controller and the Object
  • Connecting the Buttons and the Action
  • Displaying Random Strings
  • What Next?  
  • Debugging Swift Applications
  • Understanding Breakpoint Types
  • Setting Breakpoints
  • Using the Debugger
  • Using the Hierarchical View
  • Using the Debugger View and the po Command
  • Executing the Program


Chapter 3: Classes, Structs and Enums

  • Working with Classes and Structs
  • Defining Classes and Structs
  • Initializing Classes and Structs
  • Creating an Initial Value
  • Defining Your Own Initializer
  • Writing an Initializer
  • Working with Multiple Initializers
  • Deinitializing Classes
  • Working with Properties
  • Using Simple Properties
  • Using Lazy Properties
  • Using Computed Properties
  • Observing Property Changes
  • Understanding Methods
  • Understanding the Difference between Classes and Structs
  • Working with Enumerations


Chapter 4: Concurrency in Swift

  • What is Concurrency?
  • Understanding Processes
  • Understanding Threads
  • Why Concurrency?
  • Designing Concurrent Programs
  • Concurrency in iOS and OS X
  • Understanding Event Loops
  • Understanding Run Loops
  • Understanding Asynchronous Methods
  • Understanding NSTimer
  • Understanding NSThread
  • Understanding Grand Central Dispatch


Chapter 5: Interfacing with Web Services

  • Understanding Web Services
  • Implementing a Web Services Client
  • Signing Up for a Firebase Account
  • Laying Out the User Interface
  • Hooking Up the Add Album View Controller
  • Adding the Album Creation View Controller
  • Hooking Up the Segue
  • Creating the Album Model
  • Communicating with Firebase
  • Creating the Firebase Connector
  • Making Asynchronous Web Requests
  • Processing JSON Data
  • Creating New Albums
  • Deleting Albums
  • Wiring Up the View and Data Models
  • Wiring Up the Segue
  • Run the Application


Chapter 6: Storing Data with Core Data

  • What is Core Data?
  • The Core Data Stack
  • Using Core Data with Swift
  • Setting Up the Birthdays Application
  • Getting User Input
  • Examining Xcode Files
  • Adding Methods to the AppDelegate Class
  • Handling the Dialog Sheet
  • Hooking Up the Dialog Sheet
  • Displaying Data
  • Implementing the Table View's Behavior
  • The Completed Application Delegate


Part II: Advanced Swift Concepts

Chapter 7: Extending Classes

  • Working with Class Extensions
  • Adding Methods to Classes
  • Adding Properties to Classes
  • Mutating Classes in Extensions
  • Specifying Behavior with Protocols
  • Adopting Protocols
  • Declaring Properties and Methods
  • Working with Optional Methods and Properties
  • Protocols Are Types
  • Checking for Protocol Conformance
  • Using Protocol Types in Collections
  • Composing Protocols
  • Inheriting from Other Protocols
  • Adopting Protocols in Class Extensions
  • Working with Generics
  • Generic Classes
  • Working with Type Constraints


Chapter 8: Advanced Data Types

  • Working with Enums and Algebraic Data Types
  • Matching Patterns
  • Putting It All Together with JSON
  • Working with Optional Types
  • Working with Null Values
  • Excluding Null Values
  • Understanding Swift's Version of Null
  • Chaining Optional Values
  • Understanding Type Casting
  • Grouping Values with Tuples
  • Custom Operators
  • Defining Custom Operators
  • Defining Precedence and Associativity
  • A Final Word about Operators
  • Using Functions and Closures


Chapter 9: Bridging Swift and Objective-C

  • The Successor to Objective-C
  • Introducing Namespaces and Modules
  • Organizing Code with Namespaces
  • Distributing Code with Modules
  • Using Access Modifiers
  • Specifying an Access Level
  • How Swift and Objective-C Interact
  • Using Swift Classes in Objective-C
  • Generating an Objective-C Header
  • Objective-C and Swift-Only Features
  • Using Swift Code in an Objective-C Application
  • Using Objective-C in Swift
  • Generating a Bridging Header
  • Calling Objective-C Code from Swift
  • Using C and C++ Code with Swift
  • Working with C Scalar Types
  • Accessing Memory with C Pointers
  • Working with Global Constants and Defines and Swift
  • Calling C Code from Swift
  • Using C++ Code in Swift


Chapter 10: Debugging Swift Applications

  • The Art of Debugging
  • Creating Circle View
  • Drawing the Circle
  • Adding Sliders
  • Completing the Project
  • Printing Values
  • Working with Debuggers
  • Examining Errors with lldb, the LLVM Debugger
  • Basic Breakpoints
  • Using lldb to Inspect Programs
  • Using the Variable Pane
  • Entering Commands in the lldb Command Prompt Pane
  • Displaying Code Hierarchy with the lldb Ribbon
  • Walking through a Program with the lldb Ribbon
  • Removing or Disabling Breakpoints
  • Setting Conditional Breakpoints
  • Setting Symbolic Breakpoints
  • Exploring the Debugger


Chapter 11: The Swift Runtime

  • What is a Runtime?
  • Understanding the Objective-C Runtime
  • Dispatching Methods Dynamically in Objective-C
  • Message Passing
  • Resolving Methods
  • Messages and Methods
  • Exploring the Swift Runtime
  • Understanding Virtual Method Tables
  • Loading Swift Programs


Appendix: An Overview of C

  • Comparing Procedural and Object-Oriented Programming Styles
  • Understanding the Importance of C Language Syntax
  • Defining Data with Variables and Arrays
  • Integral Data Types
  • Floating-Point Data Types
  • Arrays
  • Typedefs
  • Enums
  • Performing Calculations with Operators
  • Arithmetic Operators
  • Logical Operators
  • Relational Operators
  • Bitwise Operators
  • Bitshift Operators
  • Referencing Data with Pointers
  • Organizing Data with Structs
  • Generalizing Data with Unions


Referencing Functions with Function Pointers


Michael Dippery is an avid Objective-C programmer who has written a number of libraries and other open source code for both the Mac and iOS and has contributed to a number of popular Mac open source projects, including Adium and Colloquy. He has also worked professionally using languages as diverse as Python, Java, Scala and VBScript and has a passion for the theory and implementation of programming languages and compilers.

Primary audience: Professional Mac and iOS Developers


Secondary audience: Mac and iOS project managers, advanced Mac and iOS enthusiasts and hobbyists

Write Your Own Review
You're reviewing:Professional iOS Programming with Swift
Your Rating


"Prices are subject to change without prior notice" © 2017 Wiley India Pvt. Ltd. Wiley India editions are for sale in Indian subcontinent only.