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 |