Craig Grummitt – Before I forget

Discoveries in Swift and iOS development.

Writing

The public notebook: Swift, iOS, Flutter, and a long trail of “I will definitely remember this.”

  • Presentation Style default in iOS 13

    This week is International Week of the Deaf, so to thank the community that have been a big part of my app Subtitles Viewer‘s success, Subtitles Viewer PRO is free for the whole…

    Keep reading

  • Property Wrappers and User Defaults

    Property Wrappers and User Defaults

    I love magical new features that help us abstract away boiler-plate code and let us focus on the unique features of our apps. Property wrappers is such a feature, and seriously –…

    Keep reading

  • SF Symbols in iOS 13

    SF Symbols in iOS 13

    I was playing with the amazing SwiftUI with Apple’s tutorials (stay tuned, I hope to write something on SwiftUI soon) when I noticed something interesting: Where does this “star.fill” come from, I…

    Keep reading

  • Swift 5 – it’s alive!

    Swift 5 – it’s alive!

    It’s been a couple of weeks now since Swift 5 has arrived, with a bunch of features, such as: ABI stability source compatibility isMultiple – a fancy technique for checking if a…

    Keep reading

  • Optionals in Swift explained – with a cat in a box!

    Optionals in Swift explained – with a cat in a box!

    If you’ve come to Swift from a language that doesn’t use optionals, you might find the concept a little strange and the syntax unfamiliar at first. Sometimes it helps to learn the…

    Keep reading

  • Get a continent from longitude-latitude

    Get a continent from longitude-latitude

    For a project I’m working on I needed to know if a point (latitude,longitude) was in a continent, and if so, which one! To do this, first I set up a Continent…

    Keep reading

  • Getting the keyboard height

    Getting the keyboard height

    Some time ago I answered a question in StackOverflow comparing the keyboard height on the iPhone X and the iPhone 8: I got these heights by: 1. Adding an observer of the UIResponder.keyboardWillShowNotification notification:…

    Keep reading

  • Lightning tour of closures in Swift

    Check out this video tutorial with a lightning tour of closures in Swift. It covers: Functions as data types Basic closure syntax Trailing closures   If you’re interested in more of these sorts…

    Keep reading

  • Overloading functions with default parameter values

    Overloading functions with default parameter values

    Here’s a Swifty conundrum for you! First a quick recap. Here’s a simple function with no parameters. Call it and “Hello World” will print to the console. Here’s another function with the…

    Keep reading

  • Lightning tour of functions in Swift

    Lightning tour of functions in Swift

    Check out this video tutorial with a lightning tour of functions in Swift. It covers: Parameter default values Optional function parameters Overloading a function If you’re interested in more of these sorts of…

    Keep reading