Swift错误。使用未声明的类型String

时间:2015-07-07 07:27:40

标签: swift undefined

如果我们插入行“case let dictionary as [String:AnyObject]:”在struct的方法中,一切正常。但是如果在嵌套枚举中使用,我们会收到错误“Used undefined type String”

-DJAVAW_PATH=`where javaw`

有人可以解释为什么我有String类型的错误?

3 个答案:

答案 0 :(得分:9)

似乎PopulateArr包含enum Type,它会隐藏case String您想要的内容。我在Playground中尝试了代码,将String更改为其他名称后没有更多错误。

修改 如何阅读项目 SwiftyJSON (仅限单个文件)

https://github.com/SwiftyJSON/SwiftyJSON/blob/master/Source/SwiftyJSON.swift

我的工作非常相似。(JSON处理)

它还包含如下代码:

String

我认为这个项目对你很有帮助。 (我猜你最终可能会使用这个项目)

答案 1 :(得分:1)

正如在另一个答案中所说,Stringenum Type内 是指枚举值。

会出现同样的问题
let a : Array<Int> = []
let b : Bool = false

enum Type的内部方法。重命名枚举值可能是最佳解决方案。

但为了完整起见:你可以解决问题 通过预先添加&#34; Swift&#34;模块名称显式引用 String类型:

case let dictionary as [Swift.String : AnyObject]:

答案 2 :(得分:0)

如果要在不重命名枚举的情况下解决此问题,可以将参数类型更改为Swift.String,即:

case let dictionary as [Swift.String : AnyObject]:

这应该有效(我遇到了类似的问题并解决了这个问题)。