String is an undeclared type?

Viewed 759

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
        }
    }
}
1 Answers
Related