Я хочу использовать self в статическом методе как тип класса, но я получаю ошибку времени компиляции.Swift self in static method
Вот мой тестовый код:
protocol JSONMappable {
static func map(JSON: AnyObject!) -> Self
}
class Model : JSONMappable, Mappable {
required init?(_ map: Map){
}
func mapping(map: Map) {
}
static func map(JSON: AnyObject!) -> Self {
return Mapper<self>().map(JSON)
}
}
Так что в статической карте метод я хочу использовать себя как тип класса, я также попытался self.Type, но я получаю ту же ошибку. Я не хочу использовать имя класса, потому что мне нужен этот метод для использования имени класса subclass
, когда он будет вызываться на subclass
. например, если у меня будет:
class SubClass : Model {
}
и называют:
SubClass.map(JSON)
мне нужно иметь SubClass
в этом методе вместо Model
. Так что мне интересно, возможно ли это сделать?
почему бы вам нужно вернуть себя? – Lukas
@ Lukas - попытка вернуть экземпляр типа –