NEW: Join my free 100 Days of SwiftUI challenge today! >>

Swiftoberfest 2019

Get schwifty with Swift and SwiftUI

Paul Hudson       @twostraws

Swiftoberfest is over for this year! 62 new articles from me (and over a dozen reader submissions) should give you lots of reading as the nights grow longer. Next stop: Swiftmas!


Here in the UK the nights are starting to grow longer as we edge towards winter, so I figured it would be a good time to invent a new holiday shakily stolen from Bavaria’s annual Oktoberfest celebration. So, I’m pleased to introduce you to Swiftoberfest: an all-new way to help you learn throughout October.

Here’s how it works: every day in October, from the 1st to the 31st, I’ll be posting a new article here on Hacking with Swift. This will mostly be additions to my Swift Knowledge Base, but there will be some longer ones too.

Yes, this is in addition to me posting a new article every day for my 100 Days of SwiftUI.

So, if you’re following the 100 Days course and Swiftoberfest you’ll get two new articles every day.

Now, I have some bad news and some good news.

First, the bad news: none of those new articles will be about SwiftUI. Yeah, I know – SwiftUI is the cool new kid on the block, but also need to pay some attention to the wealth of other marvelous things Apple make available to us.

Now for the good news: if you follow me on Twitter you’ll know I spend far too much time noodling around with SwiftUI to leave it alone for a whole month.

So I thought to myself: what if I could write a 100 Days of SwiftUI article, a new knowledge base article, and an addition to SwiftUI by Example – three articles every day for a month? Could I do that while also speaking at Mobiconf in Poland and Pragma Conference in Italy?

More importantly, should I do that?

Of course you know the answer already, which is why you know I’m going for the big three: every day for October you’ll get a new chapter in SwiftUI By Example, a new entry in my Swift Knowledge Base or longer article, plus another day of tutorials with my 100 Days of SwiftUI curriculum. Some will be easier and some harder, but I feel confident you’ll learn something new during Swiftoberfest.

Best of all, it’s all going to be free.

To make things easier to find, I’m going to add links below as I post each new article, with the first links arriving tomorrow.

SwiftUI articles

Every day I’ll write a new chapter in SwiftUI By Example and link to it below.

  1. How to change the order of view layering using Z index
  2. How to make a view dismiss itself
  3. How to hide the label of a Picker, Stepper, Toggle, and more using labelsHidden()
  4. How to disable the overlay color for images inside Button and NavigationLink
  5. How to make a fixed size Spacer
  6. How to detect the Reduce Motion accessibility setting
  7. How to use Dynamic Type with a custom font
  8. How to tile an image
  9. How to use decorative images to reduce screen reader clutter
  10. How to get translucent lists on macOS
  11. How to create constant bindings
  12. How to add spacing between letters in text
  13. How to make carousel lists on watchOS
  14. Common SwiftUI errors and how to fix them
  15. How to start an animation immediately after a view appears
  16. How to disable autocorrect in a TextField
  17. How to show multiple alerts in a single view
  18. How to hide and show the status bar
  19. How to create custom bindings
  20. How to control the tappable area of a view using contentShape()
  21. How to read the Digital Crown on watchOS using digitalCrownRotation()
  22. How to create a custom transition
  23. How to add horizontal and vertical scrolling using ScrollView
  24. How to delay an animation
  25. How to disable taps for a view using allowsHitTesting()
  26. How to draw a border inside a view
  27. How to use a timer with SwiftUI
  28. How to set the background color of list rows using listRowBackground()
  29. How to position views in a grid
  30. How to apply multiple animations to a view
  31. How to create 3D effects like Cover Flow using ScrollView and GeometryReader

Other articles

Every day I’ll either write a new entry in my Swift Knowledge Base, write a longer article in the articles section of the site, or something else, then link to it below.

  1. How to let users choose a font with UIFontPickerViewController
  2. How to use SwiftUI in Swift Playgrounds
  3. How to show a relative date and time with RelativeDateTimeFormatter
  4. How to detect your iOS app is running on macOS Catalyst
  5. How to perform sentiment analysis on a string using NLTagger
  6. How to decode JSON from your app bundle the easy way
  7. How to join an array of strings in a natural way
  8. How to modify haptic events over time using CHHapticParameterCurve
  9. How to use Core Image filters the type-safe way
  10. How to reload a UITableView while preserving selections
  11. How to convert a multidimensional array to a single-dimensional array
  12. How to find similar words for a search term
  13. How to compress and decompress data
  14. What’s the difference between map(), flatMap() and compactMap()?
  15. How to check and unwrap optionals in tests using XCTUnwrap()
  16. How to build a UICollectionView like the App Store
  17. How to disable interactive swipe to dismiss for view controllers
  18. What are inout parameters?
  19. How to support low data mode networking using allowsConstrainedNetworkAccess
  20. How to help VoiceOver read specific kinds of text using accessibilityTextualContext
  21. How to disable undo, redo, copy, and paste gestures using editingInteractionConfiguration
  22. How to detect whether haptic event playback is supported
  23. How to benchmark app launch time using XCTOSSignpostMetric.applicationLaunch
  24. How to check whether one date is similar to another
  25. How to set the clock in the iOS Simulator
  26. What's the difference between leading, trailing, left, and right anchors?
  27. How to make a network request wait for an internet connection using waitsForConnectivity
  28. How to convert between camel case and snake case with Codable and keyEncodingStrategy
  29. How to make one operation wait for another to complete using addDependency()
  30. How to convert dates and times to a string using DateFormatter
  31. How to group user notifications using threadIdentifier and summaryArgument

Celebrate Swiftoberfest yourself!

If you write a Swift-related blog post in October, tweet me the link and I’ll add it here – I’d love to include links to other Swiftoberfest posts and help promote your work right here. It can be about whatever you want, as long as it’s online, Swift-related, and free to read.

SPONSORED Instabug helps you identify and resolve severe crashes quickly. You can retrace in-app events and know exactly which line of code caused the crash along with environment details, network logs, repro steps, and the session profiler. Ask more questions or keep users up-to-date with in-app replies straight from your dashboard. Instabug takes data privacy seriously, so no one sees your data but you! See more detailed features comparison and try Instabug's crash reporting SDK for free.

BUY OUR BOOKS
Buy Pro Swift Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift (Vapor Edition) Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Server-Side Swift (Kitura Edition) Buy Beyond Code

About the author

Paul Hudson is the creator of Hacking with Swift, the most comprehensive series of Swift books in the world. He's also the editor of Swift Developer News, the maintainer of the Swift Knowledge Base, and a speaker at Swift events around the world. If you're curious you can learn more here.

Was this page useful? Let us know!

Average rating: 5.0/5