Cover image for Professional Swift.
Professional Swift.
Title:
Professional Swift.
Author:
Dippery, Michael.
ISBN:
9781119148715
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (310 pages)
Contents:
Professional Swift™ -- Contents -- Introduction -- 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 -- Summary -- 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 -- Summary.

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 -- Summary -- 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 -- Summary -- 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 -- Summary -- 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 -- Summary -- 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 -- Summary -- 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 -- Summary -- 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 -- Summary -- Chapter 10: Debugging Swift Applications -- The Art of Debugging -- Creating CircleView -- 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 -- Summary -- 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 -- Summary -- 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 -- Index -- Advert -- EULA.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: