Есть ли способ определить типалиасы во время выполнения?Определить типы данных во время выполнения
В моем тестовом коде у меня есть:
typealias classType = A
switch i {
case 0: typealias classType = B
case 1: typealias classType = C
case 2: typealias classType = D
default:typealias classType = E
}
Но ClassType еще быть "типа" ..
Состояние техники:
class E {}
class A: E {}
class B: E {}
class C: E {}
class D: E {}
class Service {
func retrieve<T>(completion: (response: ResponseItems<T>?, error: NSError?) -> Void) {}
}
так, в общей части кода:
let service = Service()
typealias classType = A
switch i {
case 0: typealias classType = B
case 1: typealias classType = C
case 2: typealias classType = D
default:typealias classType = E
}
service.retrieve{ (response: ResponseItems<classType>?, error) -> Void in
}
Это работает, но всегда называется с типом A.
Для чего вам нужно использовать 'classType'? – ABakerSmith
Так вот, нет ... что именно вы пытаетесь сделать? – GoatInTheMachine
взгляните на обновление .. –