Slide 28
Slide 28 text
&OVN
enum Order : Printable {
enum Field: Printable {
case Update, Publish
var description: String {
switch self {
case .Update:
return "updated_at"
case .Publish:
return "published_at"
}
}
}
case Desc(field: Field), Asc(field: Field)
var description: String {
switch self {
case .Desc(let field):
return "\(field)_desc"
case .Asc(let field):
return "\(field)_asc"
}
}
}
Enum can conform protocols
Enum can have properties
and functions
You can associate a value with
an enum
let params = PaginationParams(order: .Desc(field: .Publish), page: 1, perPage: 10)