000 07424nam a22004813i 4500
001 EBC2081460
003 MiAaPQ
005 20240729123718.0
006 m o d |
007 cr cnu||||||||
008 240724s2015 xx o ||||0 eng d
020 _a9781784399627
_q(electronic bk.)
020 _z9781784392505
035 _a(MiAaPQ)EBC2081460
035 _a(Au-PeEL)EBL2081460
035 _a(CaPaEBR)ebr11071673
035 _a(CaONFJC)MIL808622
035 _a(OCoLC)914074929
040 _aMiAaPQ
_beng
_erda
_epn
_cMiAaPQ
_dMiAaPQ
050 4 _aQA76.76.A65
100 1 _aJ Wagner, Andrew.
245 1 0 _aLearning Swift :
_bBuild a Solid Foundation in Swift to Develop Smart and Robust IOS and OS X Applications.
250 _a1st ed.
264 1 _aBirmingham :
_bPackt Publishing, Limited,
_c2015.
264 4 _c©2015.
300 _a1 online resource (266 pages)
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
505 0 _aCover -- 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.
505 8 _aImplicitly 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.
505 8 _aThe 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.
588 _aDescription based on publisher supplied metadata and other sources.
590 _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
650 0 _aApplication software -- Development.
650 0 _aiOS (Electronic resource).
650 0 _aMacintosh (Computer) -- Programming.
650 0 _aObject-oriented programming languages.
655 4 _aElectronic books.
776 0 8 _iPrint version:
_aJ Wagner, Andrew
_tLearning Swift
_dBirmingham : Packt Publishing, Limited,c2015
_z9781784392505
797 2 _aProQuest (Firm)
856 4 0 _uhttps://ebookcentral.proquest.com/lib/orpp/detail.action?docID=2081460
_zClick to View
999 _c52463
_d52463