如何动态转换为使用Swift 2.0在字符串中命名的Type?

hea*_*kit 4 casting dynamic-typing ios swift2

我需要将返回值强制转换为我需要保持动态的特定类型,例如

let cellType = "CellTypeToBeResolved"
cell = (tableView.dequeueReusableCellWithIdentifier("myID") as? CellTypeToBeResolved)!
Run Code Online (Sandbox Code Playgroud)

这怎么可能在Swift 2.0中?日Thnx!

mat*_*att 8

你不能这样做,因为斯威夫特(故意)缺少一个而不是两个难题:

  • 您无法将字符串转换为类.

  • 更重要的是,你不能把它归结为表示为变量的类.要转换为的类必须是文字类,即必须在编译时知道它.编译器需要知道这个转换是合法的,而且它需要在编译时知道如何处理这个变量.如果您希望能够将MyCoolTableCell实例消息发送到此单元格,则需要在代码中使用文字MyCoolTableCell名称 - 不是字符串,不是包含类型的变量,而是类型本身.

  • 太好了谢谢.我把这个问题留给了其他最近使用过语言的脚本编写者,之后可以进行这种草率的编程. (2认同)