相关疑难解决方法(0)

扩展可能不包含存储的属性,但为什么允许静态

扩展不能包含存储属性,但为什么可以在扩展中定义静态存储属性?

我也没有找到任何文档提到扩展中允许静态属性.

extension String {
  static let test = "Test"
  static var test2 = "Test2"
}
Run Code Online (Sandbox Code Playgroud)

swift swift-extensions

18
推荐指数
1
解决办法
5104
查看次数

制作Swift字典,键是"Type"?

我正试图做这种事情..

static var recycle: [Type: [CellThing]] = []
Run Code Online (Sandbox Code Playgroud)

但是 - 我不能:)

在此输入图像描述

未声明的类型'类型'

在这个例子中,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
  }
Run Code Online (Sandbox Code Playgroud)

那么就像......

static var recycle: [Type: [CellThing]] = []

private class func makeHelper<T: CellThing>(...)->T {
  let c = instantiateViewController(...) as! T

  let t = type whatever of c (so, …
Run Code Online (Sandbox Code Playgroud)

dictionary types swift

16
推荐指数
1
解决办法
4044
查看次数

标签 统计

swift ×2

dictionary ×1

swift-extensions ×1

types ×1