【发布时间】:2018-09-18 18:36:26
【问题描述】:
简单的枚举和插值:
enum Test {
case test1
case test2
case test3
}
let a = Test.test1
let b = "\(a)"
从调试窗口我得到:
a = (Test) test1
b = (String) "unknown()"
问题是这发生在我的项目中,而不是在操场上。
在项目中:
在操场上:
在日志中我得到:
SWIFT RUNTIME BUG: unable to find field metadata for type 'ProjectName.(unknown context at 0x10672213c).Test'
可能是什么问题?项目目标 iOS 是 9。我确实将项目转换为 swift 4.2。我在 XCode 10 测试版上遇到了这个问题,希望它会得到修复,但我想这不是 IDE 或 Swift 问题。
【问题讨论】:
-
你知道
enum是干什么用的吗? -
此时,
b尚未被赋值。您必须进入调试器中的下一行。 -
@MartinR 它已经在那里了。在步骤之前 - b = ""
-
print(b)显示什么?可能只是调试器视图的显示问题。 -
@MartinR
print(b)打印unknown()