Skip to content

Instantly share code, notes, and snippets.

@rbresjer
rbresjer / UIColor+Ext.swift
Created January 26, 2017 19:01
UIColor extension with hex initializers
fileprivate extension UIColor {
convenience init(red: Int, green: Int, blue: Int) {
assert(red >= 0 && red <= 255, "Invalid red component")
assert(green >= 0 && green <= 255, "Invalid green component")
assert(blue >= 0 && blue <= 255, "Invalid blue component")
self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: 1.0)
}
convenience init(red: Int, green: Int, blue: Int, opacity: CGFloat) {
@rbresjer
rbresjer / FaqViewModel.swift
Last active January 25, 2017 14:18
Dynamic content with NSLocalizedString
import Foundation
struct FaqCategory: Equatable {
let id: Int
let name: String
let items: [FaqItem]
}
func ==(lhs: FaqCategory, rhs: FaqCategory) -> Bool {
return lhs.id == rhs.id
}
@rbresjer
rbresjer / LogManager.swift
Created January 2, 2017 10:30
Simple logger for Swift
//
// LogManager.swift
//
// Created by Rutger Bresjer on 30/11/2016.
// Copyright © 2016 Woost. All rights reserved.
//
import Foundation
import RxSwift
@rbresjer
rbresjer / gist:c6ddf40781ec019c2936cc38ddd79392
Last active November 14, 2016 11:56
Functional Swift vs non-functional Swift
///////////////////////////////////////
// - Non-functional
///////////////////////////////////////
var buffer: [Match] = []
var bufferDate: Int = 0
var sections: [FeedSection] = []
for match in matches {
if bufferDate != match.createdAt.dateInt {
if let firstMatch = buffer.first {