James Richard

9pods

BYLBadgeView

          BYLBadgeView is a UIView subclass that draws a configurable, animatable badge.

This is useful if you want the badge to do some animation, such as a quick flash, when it's badge value changes. You can also have it animate up to a particular badge, or animate down.

License: MIT

  • Objective C

Cereal

Cereal is essentially NSCoding for Swift. Objects can be encoded and decoded into a format that can be written to disk, user defaults, property lists, or transferred to other devices through frameworks like WatchConnectivity.

License: MIT

  • Swift

JSONValue

JSONValue is a simple enum that provides type-safe JSON data access. It incorporates all of the JSON types and provides example syntax on how to best access them. It supports easy null checking while preventing you from having to specify optionals.

License: MIT

  • Swift

KEZCollectionViewTableLayout

A UICollectionViewLayout subclass that handles displaying tabular data, such as something you'd see in a spreadsheet.

License: MIT

  • Objective C

mysql-connector-c

This is a static library for connecting to MySQL databases natively using C.

I found it difficult to find a current MySQL database adapter. Most either didn't support iOS, or only supported old architectures. This library supports i386, x86_64, armv7, armv7s, and arm64.

License: MIT

  • Objective C

OrderedSet

NSOrderedSet is great and all, but you can't stuff enums and structs into it, and it lacks the mutability constraints that other collection types in Swift through var and let. Introducing OrderedSet, a wholly-Swift implementation of the common ordered, unique collection!

License: NOASSERTION

  • Swift

TableSchemer

TableSchemer is a framework for building static interactive table views. Interface Builder provides a great way to build out static table views, but not everyone uses interface builder, and adding interactivity to these table views is difficult. Writing interactive static table views traditionally is a tiresome task due to working with index paths, and having multiple delegate methods to handle configuration, sizing, and selection handling. They're also a huge pain to maintain when the need to reorder them comes as you need to update the index paths in all those locations.

License: NOASSERTION

  • Swift

Try

Easily wrap Objective-C APIs that throw Objective-C Exceptions into Swift's error handling system.

License: NOASSERTION

  • Objective C

xctest-assert-eventually

Assertion extensions and utilities for XCTest.

License: MIT

  • Objective C