In the example below, the extension function has an undeclared parameter type. String. Huh? How is that an undeclared type?
import UIKit
enum ColumnType: String {
case StringArray
, IntArray
, DoubleArray
, String = "text"
, Int = "int"
, Double = "double"
, Unknown
}
extension ColumnType {
func fromRaw(rawValue: String) -> ColumnType {
if let valueType = ColumnType(rawValue: rawValue) {
return valueType
}
switch rawValue {
case "text", "Text":
return .String
case "int", "Int":
return .Int
case "double", "Double":
return .Double
default:
return .Unknown
}
}
}