Home > Computing and Information Technology > Computer programming / software engineering > Macintosh programming > The Swift Developer's Cookbook (includes Content Update Program)
28%
The Swift Developer's Cookbook (includes Content Update Program)

The Swift Developer's Cookbook (includes Content Update Program)

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

In The Swift Developer’s Cookbook, renowned author Erica Sadun joins powerful strategies with ready-to-use Swift code for solving everyday development challenges. As in all of Sadun’s programming best-sellers, The Swift Developer’s Cookbook translates modern best practices into dozens of well-tested, easy-to-apply solutions. This book’s code examples were created in response to real-world questions from working developers to reflect Swift’s newest capabilities and best practices. Each chapter groups related tasks together. You can jump straight to your solution without having to identify the right class or framework first. Sadun covers key Swift development concepts, shows you how to write robust and efficient code, and helps you avoid common pitfalls other developers struggle with. She offers expert strategies for working with this immensely powerful language, taking into account Swift’s rapid evolution and its migration tools. Whether you’re moving to modern Swift from Objective-C, from older versions of the Swift language, or from the world of non-Apple languages, this guide will help you master both the “how” and “why” of effective Swift development. Industry recruiters are scrambling to find Swift developers who can solve real problems and produce effective working code. Get this book, and you’ll be ready. Coverage includes Writing effective Swift code that communicates clearly and coherently to the compiler, your team, and to “future you,” who will be maintaining this code Using Xcode to handle changes in Swift’s language constructs as the language evolves Building feedback, documentation, and output to meet your development and debugging needs Making the most of optionals and their supporting constructs Using closures to encapsulate state and functionality and treat actions as variables for later execution Leveraging control flow with innovative Swift-specific statements Working with all Swift types: classes, enumerations, and structures Using generics and protocols to build robust code that expands functionality beyond single types Making the most of the powerful Swift error system Working with innovative features such as array indexing, general subscripting, statement labels, custom operators, and more This book is part of the Pearson Content Update Program (CUP). As the technology changes, sections of this book will be updated or new sections will be added. The updates will be delivered to you via a free Web Edition of this book, which can be accessed with any Internet connection.

Table of Contents:
Preface   xiii How This Book Is Organized   xiii About the Sample Code   xiv Contacting the Author   xv Chapter 1: Welcome to Modern Swift    1 Migrating Code    2 How to Migrate    2 Migration Lessons    4 Using Swift    4 Compiled Applications    4 Frameworks and Libraries    5 Scripting    5 REPL    6 Playgrounds    7 Other Swift    8 Learning Swift    8 Wrap-up    9 Chapter 2: Printing and Mirroring    11 Basic Printing    11 Printing Multiple Items    12 Adding Item Separators    13 String Interpolation    13 Controlling Line Feeds    14 Recipe: Printing to Custom Destinations    15 Printing to Strings    16 Printing to Custom Output Streams    17 Recipe: Printing and String Formats    18 Swift and Format Specifiers    19 Format Limitations    19 Conditional Compilation    20 Debug Printing    21 Custom Stream Output    21 Recipe: Postfix Printing    23 Quick Looks    24 Quick Look for Custom Types    24 Quick Looks for Custom Types in Playgrounds    25 Playground Quick Looks    25 Creating Custom Quick Looks for Playgrounds    26 Built-in Quick Look Types    27 Third-Party Rendering    28 Using Dump Functions    30 Building Custom Mirrors    31 Recursive Reflection    32 Building Basic Mirror Descriptions Using Protocol Conformance    33 Adding Header Docs    35 Building Header Documentation    35 Markdown Support    36 Keywords    37 Special Swift Concerns    40 Adding Images to Header Docs    40 Wrap-up    41 Chapter 3: Optionals?!    43 Optionals 101    43 Unwrapping Optionals    45 Forced Unwrapping    45 Conditional Binding    46 Conditional Binding and Type Casts    46 Binding Cascades    48 guard Statements    50 Implicitly Unwrapped Optionals    51 Guarding Failable Initializers    52 Optionals and Sentinel Values    53 Coalescing    55 Optional Assignment    55 Optional Patterns    56 Optional Chaining    58 Selector Testing and Optional Chaining    59 Subscripts    60 Optional Mapping    61 Maps and Chaining    61 Filtering nil Values with flatMap    62 Unmanaged Wrappers    62 Wrap-up    64 Chapter 4: Closures and Functions    65 Building a Function    65 Parameter Names    66 Label Conventions    66 Naming Methods and Functions    68 External and Local Parameters    69 Defaults    70 Constant and Variable Parameters    71 Modifying Parameters    72 Closures and Functions    73 Function Types    73 Using Tuple Arguments    74 Using Shorthand Argument Names    74 Inferred Closure Types    76 Parameter Type Inference    77 Declaring Type Aliases    78 Nested Functions    79 Tuples    80 From Tuples to Structs    82 Tuple Return Types    82 Variadic Parameters    83 Capturing Values    85 Autoclosures    87 Adding Default Closures    90 Currying    91 Why Curry?    92 Building Libraries    92 Partial Application    93 Currying Costs    94 Currying and Callbacks    94 Practical Currying    95 Passing Closures as Function Parameters    97 Wrap-up    99 Chapter 5: Generics and Protocols    101 Expanding to Generics    101 Protocols    102 Tokens    103 Type Constraints    104 Adopting Protocols    104 Declaring Protocols    105 Member Declarations    107 Building a Basic Protocol    109 Adding Protocol Default Implementations    110 Optional Protocol Requirements    111 Swift-Native Optional Protocol Requirements    112 Building Generic Types    113 Type Parameters    113 Generic Requirements    114 Conformance Requirements    115 Recipe: Same-Type Requirements    115 Generic Beautification    117 Legal Tokens    117 Matching Aliases    118 Protocol Alias Defaults    119 Collating Associated Types    119 Extending Generic Types    120 Using Protocols as Types    121 Protocol-Based Collections    121 Self Requirements    122 Protocol Objects and Self Requirements    123 Leveraging Protocols    124 Wrap-up    124 Chapter 6: Errors    125 Failing Hard    125 Fatal Errors    126 Assertions    126 Preconditions    127 Aborting and Exiting    128 Failing Gracefully    128 The ErrorType Protocol    129 Choosing Between Optionals and Error Handling    130 Swift Error Rules    130 Rule 1: Move Away from nil Sentinels    131 Rule 2: Use throw to Raise Errors    132 Rule 3: Use Error Types with Visible Access    133 Rule 4: Mark All Error-Participating Methods with throws    134 Rule 5: Use rethrows Consistently    134 Rule 6: Consume Errors Where They Matter    135 Rule 7: Terminate Threaded Error Chains    135 Building Errors    137 Good Errors    138 Naming Your Errors    138 Adding String Descriptions    139 Adding Reasons    139 Simplifying Output    140 Extending String    140 Type-Specific Errors    141 Retrieving Context    141 Contextualizing Strings    142 Contextualizing Throwing Types    143 Simplifying Contexts    144 Calling Throwing Functions    145 Using try    145 Error Propagation    147 Using try!    148 Using try?    148 Implementing Alternatives to try?    149 Guarding Results    151 Building a Printing Version of try?    151 Working with guard and defer    151 Wrap-up    153 Chapter 7: Types    155 Language Concepts    155 Reference and Value Types    155 Copy-and-Write-Back    156 Algebraic Data Types    157 Other Terminology    158 Enumerations    159 Basic Enumerations    159 Using Hash Values to Support Ranges    160 Raw Value Enumerations    162 Raw Value Members and Sequences    163 Associated Values    164 Indirect Values    165 Switches    166 Branching    166 Breaks    167 Fallthroughs    167 Complex Cases    169 Tuples    169 Pattern Matching with Value Bindings    169 where Clauses    170 Unwrapping Optional Enumerations    171 Embedding Values by Type    172 Option Sets    174 Revisiting NS_OPTIONS    174 Building Enumerations    175 Building Option Sets    176 Viewing Options    176 Classes    177 Optimization    178 Initializers    178 Initialization Steps    179 Designated and Convenience Initializers    179 Initialization Rules    179 Building Convenience Initializers    181 Failable and Throwing Initializers    181 Deinitializers    183 Property Observers    184 Getters/Setters and Access-Level Modifiers    185 Extensions and Overrides    186 Lazy Evaluation    187 Lazy Sequences    187 Lazy Properties    188 Wrap-up    188 Chapter 8: Miscellany    189 Statement Labels    189 Custom Operators    190 Declaring Operators    191 Conforming with Operators    192 Evaluating Operator Trade-offs    192 Array Indexing    193 Multi-indexed Array Access    194 Wrapped Indices    195 Array Slices    195 General Subscripting    196 Parameter-less Subscripting    197 String Utilities    198 Repeat Initializers    198 Strings and Radix    198 String Ranges    199 String Splitting    201 String Subscripts    201 Foundation Interoperability    203 Joining and Extending    203 Permutation Generator    203 Wrap-up    205 Index    207


Best Sellers


Product Details
  • ISBN-13: 9780134395265
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Depth: 13
  • Language: English
  • Returnable: N
  • Spine Width: 13 mm
  • Width: 179 mm
  • ISBN-10: 0134395263
  • Publisher Date: 24 Dec 2015
  • Binding: Paperback
  • Height: 228 mm
  • No of Pages: 240
  • Series Title: Developer's Library
  • Weight: 388 gr


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
The Swift Developer's Cookbook (includes Content Update Program)
Pearson Education (US) -
The Swift Developer's Cookbook (includes Content Update Program)
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

The Swift Developer's Cookbook (includes Content Update Program)

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA