description |
---|
An assorted list of maybe useful playgrounds that shed light on the theory of algorithms, the use of the Swift Standard Library, integration with C, and other experiments. |
This GitBook page gives an overview of the available Swift Playgrounds, their intention and some initial motivation on why I created these. As the playgrounds are self-documented making extensive use of Markdown I advise you to jump into a topic and deep-dive in the calm seas of those playgrounds.
Please feel free to copy, share, and re-use the playgrounds as I always include an "I don't care" copyright, so I'm happy to donate my findings and results to the comunity without any loopholes. If you like you might mention where you stumbled across the idea and you might cite the original author(s), but that's certainly not a must.
All playgrounds are hosted and published on GitHub. So please feel free to either clone or fork them. If you want to see some additions you might write a comment and ask for such. If you have some suggestions for improvements, please feel free to write a comment or modify the code, and thereafter post a pull request.
Swift Playground | Topic |
---|---|
DNSResolve5 | Resolve host names from a given IP address using Apple’s Core Foundation with CFHost . This won’t resolve the host alias names, though |
Factorial | Very simple demo of a recursion algorithm in Swift |
Function Call Mapping | Demonstration of calling functions dynamically using a routing pattern |
IPHostAddressResolution5 | Resolve host names from a given IP address using GLibC’s standard networking C function gethostbyaddr . This does resolve the host alias names |
IPHostAddressResolution5 SwiftUI | Same as IPHostAddressResolution5 with a simple UI |
Pulsating Custom Button | A custom SwiftUI button with a blinking LED indicator mimicking buttons found on KORG’s synthesisers |
QR Code | How to platform-independently generate a bitmap QR code using Apple’s CoreImage CIFilter |
QR Code iOS | Same as QR Code , specifically designed for i(Pad)OS |
QR Code macOS | Same as QR Code , specifically designed for macOS |
SpeedMaths | A simple example of using a list view with a custom row content view with field-exit handler and context-dependent colouring |
Syntax Tree | Demonstration of a tree algorithm adapted to the Swift programming language |
Tail Recursion | Demonstration of the tail recursion algorithm adapted to the Swift programming language |
Using Opaque Types | Demonstration of using Swift opaque types |
Using Phantom Types | Demonstration of using phantom types in Swift |