Skip to content

Instantly share code, notes, and snippets.

@TheCire
Created February 3, 2017 07:56
Show Gist options
  • Save TheCire/4e77e67bbcb347bc95c3fdf10d23ae9b to your computer and use it in GitHub Desktop.
Save TheCire/4e77e67bbcb347bc95c3fdf10d23ae9b to your computer and use it in GitHub Desktop.
enum BoxSize {
case small
case medium
case large
func value() -> CGFloat {
switch self {
case .small: return 1.0
case .medium: return 2.0
case .large: return 3.0
}
}
func numberValue() -> NSNumber {
switch self {
case .small: return NSNumber(integerLiteral: 1)
case .medium: return NSNumber(integerLiteral: 2)
case .large: return NSNumber(integerLiteral: 3)
}
}
static func fromNSNumber(value:NSNumber) -> BoxSize{
return BoxSize.from(value: value.intValue)
}
static func from(value:Int) -> BoxSize{
switch value {
case 0: return BoxSize.small
case 1: return BoxSize.medium
case 2: return BoxSize.large
default:
fatalError("Not a valid value for BoxSize \(value)")
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment