Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danielpi/Swift-Playgrounds
Learning Swift by working through example code in playgrounds
https://github.com/danielpi/Swift-Playgrounds
playground swift swift-playgrounds swift-programming-language
Last synced: 25 days ago
JSON representation
Learning Swift by working through example code in playgrounds
- Host: GitHub
- URL: https://github.com/danielpi/Swift-Playgrounds
- Owner: danielpi
- License: mit
- Created: 2014-06-05T04:26:20.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-10-13T20:19:32.000Z (about 3 years ago)
- Last Synced: 2024-04-22T12:31:04.775Z (8 months ago)
- Topics: playground, swift, swift-playgrounds, swift-programming-language
- Language: Swift
- Size: 370 KB
- Stars: 226
- Watchers: 19
- Forks: 48
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-Swift-Playgrounds - The Swift Programming Language Playgrounds - 40+ playgrounds, one for each chapter of Apple's Swift book. π (Learning Swift)
README
# Swift Playgrounds
Some experiments with Playgrounds in XCode 8.2 using the Swift programming language.
## The Swift Programming Language Book
I have been working through all the examples in the book Apple Inc. βThe Swift Programming Language.β iBooks. https://itunes.apple.com/au/book/swift-programming-language/id881256329?mt=11. Each .playground file in the project relates to a chapter from the Swift Programming Language book.
I have implemented this as a single XCode project that contains a playground file for each chapter of the language reference book. I'm finding it quite useful to have this project open when I am writing Swift code as I can use the project wide search functionality to lookup any Swift features or syntax that I am unsure about (so long as I can remember the words to look for)
Below is a list of each of the files within the project (this is also a list of the chapters of the book that I have worked through).
- **A Swift Tour** contains the code from the "Swift Tour" chapter. It touches on most of the unusual features of the language and is easy to search through to find examples. It is a large file and does tend to give the swift interpreter a rather hard time.
Chapters from the Language guide. Each chapter goes into depth about its particular subject.
- **The Basics** This chapter covers basic value types like Strings, Ints, Bools and floats. The notation for exponent values in float literals is interesting. Comments are covered (nested /* */ comment blocks). TypeAlias is covered as are tuples. Optionals are touched on and assertions are mentioned.
- **Basic Operators** Arithmetic, remainder, increment, decrement, comparison, unary, ternary, range (closed and half-closed) and logical operators. There are examples of all of them.
- **Strings And Characters** Some details about Unicode literals (multi-byte characters). The countElements() function for finding the length of a string. Concatenating strings, Comparing strings and Interpolating strings (not much on splitting or parsing strings).
- **Collection Types**
- **ControlFlow**
- **Functions**
- **Closures**
- **Enumerations**
- **Classes And Structures**
- **Properties**
- **Methods**
- **Subscripts**
- **Inheritance**
- **Initialization**
- **Deinitialization**
- **Automatic Reference Counting**
- **Optional Chaining**
- **Type Casting**
- **Nested Types**
- **Extensions**
- **Protocols**
- **Generics**
- **Advanced Operators**## Using Swift with Cocoa and Objective-C Book
There are six playground files that work through the code in the βUsing Swift with Cocoa and Objective-C.β iBook. https://itunes.apple.com/au/book/using-swift-cocoa-objective/id888894773?mt=11. They are listed below. The example from this book didn't translate as well to the playgrounds as the previous book examples did.- **Basic Setup**
- **Interacting With Objective-C-**
- **Writing Classes With Objective C Behaviour**
- **Working With Cocoa Data Types**
- **Adopting Cocoa Design Patterns**
- **InteractingWith C**## Swift Standard Library
The documentation for the Swift Standard Library can be found at the following link https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/. There is a wealth of information contained in the standard library doc and it is nicely organised so that it is easy to experiment with in a playground environment. I have attempted to extend the examples somewhat to try and show off some of the other features of the standard library.- **String**
- **Array**
- **Dictionary**
- **NumericTypes**
- **Protocols**
- **FreeFunctions**
- **Undocumented**## Swift Blog
The Swift blog contains several articles detailing interesting information about the developing language.- **2014-08-15 Value and Reference Types**
- **2014-08-05 Boolean**
- **2014-07-28 Interacting with C Pointers**
- **2014-07-23 Access Control**## NSHipster
Lots of great articles delving into the finer points of Cocoa programming. The recent articles on Swift are always interesting to go through- **2014-08-08 Swift Literal Convertibles** Shows how you can create types of your own that can be written as literals when you use them.
# What next?
Here are some links to other projects around the web that I would also like to implement
- **Peter Norvig** has some great posts that delve into various programming topics. Mostly they are in Python though so it would be interesting to implement them in Swift.
- http://norvig.com/spell-correct.html http://airspeedvelocity.net/2015/05/02/spelling/
- http://nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynb
- **Erica Sandun** Has a book out and also publishes a lot of information about Swift Playgrounds. In particular she is able to get impressive graphics, windows and user inputs to work, which is something that I haven't figured out yet.
- http://ericasadun.com/2015/05/04/swift-using-functions-to-initialize-view-types/