Simple. Swift. Guides.

Articles

Tue, 25 Aug 2015 #try #error

Optional throw via try? in Swift 2

Swift 2.0 includes a new way of handling exceptions via the try? keyword. This is a quick post to explain the basics, and why this is cool.

Fri, 19 Jun 2015 #try #catch

Using try / catch in Swift with asynchronous closures

Swift's try / catch error handling is great. However, you can't use it in an async context. This article briefly explains which options you have if you intend to use Error Handling asynchronously

Wed, 17 Jun 2015 #generics #protocols #overload

Generic method overloading by protocol in Swift

See how you can even overload methods in a generic manner by using protocols

Sun, 08 Jun 2014 #autoclosure

Using @autoclosure to write a Swift syntax extension

Swift's @autoclosure allows to extend the Swift syntax in fantastic ways. Observe how we re-implement the cond function from Lisp


  • Swift Topics

    • All
    • Swift Tricks
    • Language
    • Hands On
    • Blog
  • Guides

    • 🗝 KeyPaths
    • 🧩 Pattern Matching
    • 🚦 Enums
    • 🗺 Map, Reduce & more
    • 🧙🏻 Associated Types
    • 🍱 Tuples
    • ⁉️ Optionals
    • 🔮 Reflection
    • 🚀 SwiftUI [Beta]
    • 🖥 Ultimate Catalyst Guide
  • Tags

    • catalyst45
    • macos45
    • uikitformac45
    • pattern matching25
    • switch24
    • keypath23
    • enum19
    • associated14
    • tuples13
    • reflection12
    • reduce11
    • box10
    • generics9
    • protocol8
    • anykeypath6
    • compactMap6
    • filter6
    • map6
    • mirror6
    • optionals5
    • where5
    • erase4
    • erasure4
    • composition3
    • equatable3
    • partialkeypath3
    • struct3
    • swiftui3
    • type-erase3
    • as2
    • casting2
    • destructure2
    • error2
    • extension2
    • guard2
    • if let2
    • init2
    • is2
    • objc2
    • optional2
    • root2
    • try2
    • tuple2
    • type-cast2
    • CaseIterable1
    • CustomReflectable1
    • Data1
    • ExpressibleByStringLiteral1
    • abstraction1
    • autoclosure1
    • break1
    • catch1
    • closure1
    • copy-on-write1
    • coredata1
    • dictionary1
    • either1
    • fallthrough1
    • for1
    • for case1
    • groupby1
    • guard let1
    • hashable1
    • if case1
    • indirect1
    • inout1
    • key1
    • label1
    • literal1
    • method1
    • nesting1
    • overload1
    • package1
    • partition1
    • performance1
    • preferences1
    • property1
    • protocols1
    • range1
    • readonly1
    • recursion1
    • referencewritablekeypath1
    • self1
    • toolbar1
    • tupealias1
    • type1
    • type-casting1
    • typealias1
    • unique1
    • value1
    • value type1
    • valueForKeyPath1
    • valuetype1
    • vararg1
    • wildcard1
    • writablekeypath1
    • zip1

Benedikt Terhechte @terhechte
If you read this far, you should follow Benedikt on Twitter.
APPVENTURE is dedicated to providing articles about Swift, macOS, iOS & Linux development.

2011 - 2019 Benedikt Terhechte

Benedikt's private blog can be found at terhech.de


Other Profiles

  Follow Me