LEADER 08481nmm a2200469 u 4500
001 EB001940785
003 EBX01000000000000001103687
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 1119016770 
020 |a 1119148723 
020 |a 9781119148722 
050 4 |a QA76.73.S95 
100 1 |a Dippery, Michael 
245 0 0 |a Professional Swift  |c Michael Dippery 
260 |a Indianapolis, IN  |b Wrox, a Wiley brand  |c 2015 
300 |a 1 online resource 
505 0 |a Summary -- ch. 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 -- ch. 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 --  
505 0 |a Organizing Data with Structs -- Generalizing Data with Unions -- Referencing Functions with Function Pointers 
505 0 |a 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 -- ch. 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 -- ch. 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 --  
505 0 |a 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 -- ch. 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 -- ch. 9 Bridging Swift And Objective-C -- The Successor to Objective-C -- Introducing Namespaces and Modules -- Organizing Code with Namespaces --  
505 0 |a Ch. 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 --  
505 0 |a Displaying Code Hierarchy with the Ildb Ribbon -- Walking through a Program with the Ildb Ribbon -- Removing or Disabling Breakpoints -- Setting Conditional Breakpoints -- Setting Symbolic Breakpoints -- Exploring the Debugger -- Summary -- ch. 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 -- 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 --  
505 0 |a 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 -- ch. 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 -- ch. 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 --  
505 0 |a 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 -- ch. 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 Ildb, the LLVM Debugger -- Basic Breakpoints -- Using Ildb to Inspect Programs -- Using the Variable Pane -- Entering Commands in the Ildb Command Prompt Pane --  
653 |a Programming languages (Electronic computers) / fast 
653 |a Swift (Langage de programmation) 
653 |a Programming languages (Electronic computers) / http://id.loc.gov/authorities/subjects/sh85107313 
653 |a Swift (Computer program language) / fast 
653 |a Swift (Computer program language) / http://id.loc.gov/authorities/subjects/sh2015001571 
653 |a COMPUTERS / Programming / Apple Programming / bisacsh 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
490 0 |a Wrox programmer to programmer 
500 |a Includes index 
776 |z 9781119016779 
776 |z 1119148723 
776 |z 9781119148722 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781119016779/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.446 
520 |a Annotation