Buch, Englisch, 680 Seiten, Format (B × H): 178 mm x 254 mm
The Practical Guide
Buch, Englisch, 680 Seiten, Format (B × H): 178 mm x 254 mm
ISBN: 978-1-4932-2718-1
Verlag: Rheinwerk Verlag GmbH
This is your ultimate resource for Swift, the programming language for Apple devices! Get to know Swift’s syntax and learn to work with elements such as variables and collections. Use Swift’s built-in features for debugging, error handling, and memory management to streamline your development process. Then move to more advanced topics like concurrency and custom modules. Follow along with downloadable code examples to get practical experience working with the language. Become a Swift master in no time!
Highlights include:
1) Variables and collections
2) Control flow
3) Functions
4) Optionals
5) Enums and structs
6) Object-oriented programming
7) Memory management
8) Debugging and error handling
9) Concurrency
10) Modules
11) Unit testing
Autoren/Hrsg.
Fachgebiete
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Handheld Programmierung
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Macintosh Programmierung
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Programmier- und Skriptsprachen
Weitere Infos & Material
... Dedication ... 19
1 ... Introduction ... 21
1.1 ... About this Book ... 21
1.2 ... Welcome to Swift! ... 23
1.3 ... Why Learn Swift? ... 24
1.4 ... Swift Versus Other Programming Languages ... 26
1.5 ... Setting Up the Development Environment ... 35
1.6 ... Summary ... 43
2 ... Variables ... 45
2.1 ... Variables ... 45
2.2 ... Boolean ... 52
2.3 ... Numbers ... 58
2.4 ... Text ... 74
2.5 ... Dates and Times ... 98
2.6 ... Quantities ... 113
2.7 ... Tuples ... 120
2.8 ... Type Aliases ... 124
2.9 ... Summary ... 125
3 ... Collections ... 127
3.1 ... Arrays ... 128
3.2 ... Sets ... 148
3.3 ... Dictionaries ... 162
3.4 ... Summary ... 173
4 ... Control Flow ... 175
4.1 ... Conditional Statements ... 176
4.2 ... Loops ... 199
4.3 ... Control Transfer Statements ... 211
4.4 ... Summary ... 221
5 ... Functions ... 223
5.1 ... What Is a Function? ... 223
5.2 ... Defining and Calling Functions ... 226
5.3 ... Input Parameters ... 234
5.4 ... Returning Values ... 242
5.5 ... Variadic Parameters ... 250
5.6 ... Function Overloading ... 253
5.7 ... Inout Parameters ... 255
5.8 ... Nested Functions ... 258
5.9 ... Function Types ... 261
5.10 ... Closures ... 268
5.11 ... Generic Functions ... 280
5.12 ... Summary ... 289
6 ... Optionals ... 291
6.1 ... What Are Optionals? ... 291
6.2 ... Optional Binding ... 296
6.3 ... Implicitly Unwrapped Optionals ... 299
6.4 ... Optional Chaining ... 300
6.5 ... Summary ... 302
7 ... Enumerations ... 303
7.1 ... What Are Enumerations? ... 303
7.2 ... Declaring Enumerations ... 305
7.3 ... Computed Properties ... 313
7.4 ... Functions in Enumerations ... 317
7.5 ... Iterating over Enumerations ... 319
7.6 ... Recursive Enumerations ... 322
7.7 ... Generic Enumerations ... 325
7.8 ... Summary ... 327
8 ... Structs ... 329
8.1 ... What Is a Struct? ... 329
8.2 ... Declaring Structs ... 331
8.3 ... Static Properties ... 339
8.4 ... Computed Properties ... 341
8.5 ... Functions ... 345
8.6 ... Encapsulation ... 351
8.7 ... Structs as Function Parameters ... 355
8.8 ... Generic Structs ... 357
8.9 ... Advanced Features ... 359
8.10 ... Summary ... 369
9 ... Classes ... 371
9.1 ... Declaring Classes ... 372
9.2 ... Functions ... 380
9.3 ... Inheritance ... 385
9.4 ... Classes as Function Parameters ... 409
9.5 ... Memory Management ... 412
9.6 ... Summary ... 419
10 ... Protocols ... 421
10.1 ... Purpose of Protocols ... 421
10.2 ... Function Requirements ... 425
10.3 ... Initializer Requirements ... 431
10.4 ... Property Requirements ... 433
10.5 ... Implementing Multiple Protocols ... 437
10.6 ... Checking for Protocol Conformance ... 440
10.7 ... Protocols as Function Parameters ... 442
10.8 ... Associated Types ... 445
10.9 ... Using Standard Protocols ... 448
10.10 ... Summary ... 459
11 ... Extensions ... 461
11.1 ... Extending Enumerations ... 462
11.2 ... Extending Structs ... 464
11.3 ... Extending Classes ... 466
11.4 ... Extending Protocols ... 468
11.5 ... Operator Extensions ... 470
11.6 ... Extending Swift Data Types ... 478
11.7 ... Generic Extensions ... 480
11.8 ... Summary ... 482
12 ... Error Handling ... 483
12.1 ... Understanding Errors in Swift ... 484
12.2 ... Throwing Errors ... 486
12.3 ... Catching Errors ... 492
12.4 ... Cleanup with Defer ... 504
12.5 ... Runtime Checks ... 508
12.6 ... Summary ... 513
13 ... File Handling ... 515
13.1 ... Text Files ... 515
13.2 ... Binary Files ... 522
13.3 ... Working with Common Formats ... 529
13.4 ... File System Operations ... 542
13.5 ... Summary ... 554
14 ... Concurrency ... 555
14.1 ... What Is Concurrency? ... 555
14.2 ... Async Functions ... 557
14.3 ... Tasks ... 569
14.4 ... Async Streams ... 588
14.5 ... Shared State Safety ... 593
14.6 ... Summary ... 606
15 ... Modules in Swift ... 607
15.1 ... Introduction to Modules ... 607
15.2 ... Working with Frameworks ... 613
15.3 ... Working with Packages ... 621
15.4 ... Access Control ... 629
15.5 ... Summary ... 631
16 ... Conclusion ... 633
Appendices ... ... 635
A ... Unit Testing ... 635
B ... Debugging ... 655
C ... The Author ... 673
... Index ... 675




