--- layout: single author_profile: true read_time: true share: true related: true title: SwiftUI tags: [swiftui,programming,ios, swift] category: Programming --- Its been a long while since I sat and did programming, but between a life situation and the new technology from Apple for creating user interfaces (SwiftUI), I've been inspired to pickup again an idea I've been kicking around for 10 years. SwiftUI simplifies designing interfaces Provides a fast means of iterating design Able to quickly see results Easy to mock in data Buggy. Filled 3 bugs so far. Swift: {% highlight swift %} override public func touchesBegan(_ touches: Set, with event: UIEvent?) { super.touchesBegan(touches, with: event) currentTouchPosition = touches.first?.location(in: self) NSObject.cancelPreviousPerformRequests(withTarget: self) } {% endhighlight %} Swift: ```swift def print_hi(name) puts "Hi, #{name}" end print_hi('Tom') #=> prints 'Hi, Tom' to STDOUT. ``` Bash: ```bash #!/usr/bin/env bash set -e # halt script on error echo echo "------------------------------------------------------------------------------------------------------------------------" if [ "$TRAVIS_PULL_REQUEST" != "false" -a "$TRAVIS_BRANCH" == "comments" ]; then echo echo "Building site for pull request for $TRAVIS_BRANCH..." bundle exec jekyll build --config _config.yml --source . --destination ./docs echo "Site built into /docs" echo echo "Proofing links" bundle exec htmlproofer ./docs --disable-external --allow_hash_href echo "Proofing links complete" echo echo "------------------------------------------------------------------------------------------------------------------------" exit 0 elif [ "$TRAVIS_BRANCH" == "master" ]; then echo echo "Building site for $TRAVIS_BRANCH..." bundle exec jekyll build --config _config.yml --source . --destination ./docs echo "Site built into /docs" echo echo "Proofing links" bundle exec htmlproofer ./docs --disable-external --allow_hash_href echo "Proofing links complete" echo echo "------------------------------------------------------------------------------------------------------------------------" exit 0 else echo echo "Build not triggered internally" echo echo "------------------------------------------------------------------------------------------------------------------------" exit 0 fi ``` Ruby: {% highlight ruby %} require "gem" number = 0 regexp = /[abc]/ # This is a comment class Person attr_accessor :name def initialize(attributes = {}) @name = attributes[:name] end def self.greet "hello" end end person1 = Person.new(:name => "Chris") puts "#{Person::greet} #{person1.name}\n" {% endhighlight %} html: ```html Title

Heading

This is an example paragraph.

``` css: ```css .highlight pre { width: 100%; } .highlight .hll { background-color: $base06; } .highlight { .c { /* Comment */ color: $base04; } } ``` Javascript: ```javascript $(document).ready(function() { // FitVids init $("#main").fitVids(); // Sticky sidebar var stickySideBar = function() { var show = $(".author__urls-wrapper button").length === 0 ? $(window).width() > 1024 // width should match $large Sass variable : !$(".author__urls-wrapper button").is(":visible"); if (show) { // fix $(".sidebar").addClass("sticky"); } else { // unfix $(".sidebar").removeClass("sticky"); } }; } ```