Я пытаюсь сделать такое.
static var recycle: [Type: [CellThing]] = []
но - я не могу:)
Необъявленный тип 'Тип'
В этом примере CellThing
- мой базовый класс, поэтому A:CellThing
, B:CellThing
, C:CellThing
и так далее. Идея в том, что я буду хранить различные A A, B B, C C C C в массивах словарей.
Как создать "Тип" (в идеале, я полагаю, ограниченным для CellThing) будет ключом в словаре Swift?
Я ценю, что могу (возможно?) использовать String(describing: T.self)
, но это заставит меня потерять сон.
Здесь пример использования, предполагаемый код будет выглядеть примерно так...
@discardableResult class func make(...)->Self {
return makeHelper(...)
}
private class func makeHelper<T: CellThing>(...)->T {
let c = instantiateViewController(...) as! T
return c
}
Итак, что-то вроде...
static var recycle: [Type: [CellThing]] = []
private class func makeHelper<T: CellThing>(...)->T {
let c = instantiateViewController(...) as! T
let t = type whatever of c (so, maybe "A" or "B")
recycle[t].append( c )
let k = recycle[t].count
print wow, you have k of those already!
return c
}