Year 1 Issue 7

Howdy! Hope you have a relaxing weekend, because this week we have plenty of new projects to dig into 😁

Static

Language: Swift

How many times have you written static table view code? How many time have you screamed in frustration seeing some old swicth statement done on the sections and rows? Dread no more, this Swfit framework by Venmo provides an easy and clean API to clearly define static table views, once and for all.

let dataSource = TableDataSource()
dataSource.sections = [
  Section(header: "Money", rows: [
      Row(text: "Balance", detailText: "$12.00", accessory: .DisclosureIndicator, selection: {
          // Show statement
      }),
      Row(text: "Transfer to Bank…", cellClass: ButtonCell.self, selection: {
          // Show transfer to bank modal
      })
  ], footer: "Transfers usually arrive within 1-3 business days.")
]

dataSource.tableView = tableView

Chameleon

Language: Objective-C (and Swift)

Chameleon is a remarkable flat colors framework for iOS, packed of features. Not only it comes with gorgeous colors, and color schemes, but also gradients, Storyboard palette, and great Quick Help documentation.

Chameleon colors screenshot

Bond

Language: Swift

Bond is a Swift binding framework that takes binding concept to a whole new level - boils it down to just one operator. It’s simple, powerful, type-safe and multi-paradigm.

With Bond you can do things like:

viewModel.numberOfFollowers.map { "\($0)" } ->> label

or

lazy var loginButtonTapListener = Bond<UIControlEvents>() { event in
  // perform login
}

loginButton.dynEvent.filter(==, .TouchUpInside) ->> loginButtonTapListener

If the code above looks cryptical to you, have a read to the “Functional concepts explained” section of the README.

DOFavoriteButton

Language: Swift

DOFavoriteButton

This components allows you to add a cute selection animation to any kind of flat image. It is fullyg configurable via both Interface Builder and code. Head over to the README’s how to use section to find out its full potential.

SwiftGen

Language: Swift

From the makers of the great OHHTTPStubs comes a collection of tools to auto-generate Swift code for various assests in the project.

At the moment you can generate:

iOS 9 Day by Day

Language: Swift

Every year Shinobi Controls releases a series of tutorials on the newest iOS SDK features. The first two in the series cover the new search API, and UI testing. Definitely keep an eye on this one.

ParkedTextField

A text field with a constant text/placeholder. That’s it.

ParkedTextField animated screenshot

Note: as the author declares in the README, the main functionality works, but the library is still under development.

Mirror

Language: Swift

Mirror is a library to add reflection to Swift’s objects. 100% Swift, no Objective-C runtime.

struct Person {
  let name: String
  var age: Int
}

var person = Person(name: "Jon", age: 27)
let mirror = Mirror(person)

mirror.name
//"MirrorTest.Person"

mirror.memorySize
// 32

mirror.isClass
//false

mirror.isStruct
//true

mirror.names
//["name", "age"]

mirror.values
//["Jon", 27]

mirror.types
//[Swift.String, Swift.Int]

Other interesting projects