Skip to content
View jakehawken's full-sized avatar
🆒
🆒

Highlights

  • Pro
Block or Report

Block or report jakehawken

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Pinned

  1. Propagate Propagate Public

    Jake's async toolkit.

    Swift 1

  2. Poseur Poseur Public

    A class and protocol for spying and stubbing in Swift.

    Swift 1

  3. ScreenStateHandler -- The glue to co... ScreenStateHandler -- The glue to connect your views and presenters.
    1
    import Foundation
    2
    
                  
    3
    /*
    4
    I love the presenter pattern, but I hate connecting the presenter to the view using
    5
    delegation. Since protocol conformance can't be private in Swift, delegation always
  4. @NonNil - crash with purpose! @NonNil - crash with purpose!
    1
    /// The NonNil property wrapper allows you to supply an error message at the declaration of a
    2
    /// property, and then otherwise access it like it's non-nil in your code. Any access before it's
    3
    /// set will still result in a crash the way explicity unwrapping would, but with the added benefi
    4
    /// of there being an informative crash message. Intended to be a conscientious and thoughtful
    5
    /// replacement for the `!` operator.
  5. Testable Swift Playgrounds! Just dro... Testable Swift Playgrounds! Just drop this in the Sources folder of a Swift Playground, and you'll be able to write XCTest-style tests right there in your code!
    1
    /*
    2
        Ever wanted to write unit tests in a Swift Playground? … No? Oh.
    3
        I’m really the only person? Well ok, then never mind.
    4
        If you change your mind though, you can drop this file directly
    5
        into the Sources folder and be able to write XCTest-style code
  6. @DiskBacked - Easy computed properti... @DiskBacked - Easy computed properties backed by UserDefaults.
    1
    /// This propety wrapper generates a variable that is backed by UserDefaults.
    2
    /// This can be used with any Codable type, and saves the item to disk as Data.
    3
    /// At initialization, you supply the key at which the the variable will be
    4
    /// saved, and the instance of UserDefaults in which to save it.
    5
    ///