扩展不能包含存储属性,但为什么可以在扩展中定义静态存储属性?
我也没有找到任何文档提到扩展中允许静态属性.
extension String {
  static let test = "Test"
  static var test2 = "Test2"
}
我正试图做这种事情..
static var recycle: [Type: [CellThing]] = []
但是 - 我不能:)
未声明的类型'类型'
在这个例子中,CellThing是我的基类,所以A:CellThing,B:CellThing,C:CellThing等等.我的想法是将各种AAA,BB,CCCC存储在字典数组中.
如何制作一个"类型"(理想情况下我猜,限制在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, …