Aşağıdaki örnekte, uzantı işlevi bildirilmemiş bir parametre türüne sahiptir. String
. Ha? Bu nasıl bildirilmemiş tipte? Bu bir uzantısıdır çünkü vardır ColumnType
(içindeDize bildirilmemiş bir türüdür?
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
}
}
}
meşru soru üzerine aşağı oy Alternatif –