Skip to content

Instantly share code, notes, and snippets.

View memfrag's full-sized avatar

Martin Johannesson memfrag

View GitHub Profile
@memfrag
memfrag / MJPlaceholderView.h
Last active August 29, 2015 14:14
Interface Builder Designable Custom View
#import <UIKit/UIKit.h>
// IB_DESIGNABLE means that the view will be
// rendered live in Interface Builder.
IB_DESIGNABLE
@interface MJPlaceholderView : UIView
// IBInspectable means that the property
@memfrag
memfrag / BiggestValue.swift
Last active August 29, 2015 14:04
[Swift] Biggest Value of a Sequence of Numbers
let values: [UInt] = [4, 8, 15, 16, 23, 42]
let biggestValue = values.reduce(0, {$1 > $0 ? $1 : $0})
// biggestValue is now 42
@memfrag
memfrag / MeanValue.swift
Last active August 29, 2015 14:04
[Swift] Mean Value of a Sequence of Numbers
let values = [4, 8, 15, 16, 23, 42]
let meanValue = values.reduce(0, +) / values.count
// + is a operator function and we can pass it in to reduce as the function parameter.
@memfrag
memfrag / SwapOperator.swift
Last active August 29, 2015 14:04
[Swift] Swap Operator
operator infix <=> {}
infix func <=> <T>(inout left: T, inout right: T) {
let tmp = left
left = right
right = tmp
}
var a = 1337
var b = 4711
@memfrag
memfrag / SquaredOperator.swift
Last active August 29, 2015 14:04
[Swift] Squared Operator
operator postfix ** {}
postfix func ** (value: Int) -> Int {
return value * value
}
let a = 3** + 1
// a now contains 10
@memfrag
memfrag / SquaredOperator.swift
Last active August 29, 2015 14:04
[Swift] Custom Assignment Operator
operator infix <- {}
infix func <- <T>(inout left: T, right: T) {
left = right
}
var value = 0 // Initialize
value <- 1337
// value now contains 1337