【问题标题】:Swift Error: Statements are not allowed at the top level [duplicate]Swift 错误:顶层不允许使用语句 [重复]
【发布时间】:2015-06-16 23:38:17
【问题描述】:

我正在浏览有关 Swift JSON Parsing (https://github.com/thoughtbot/Argo) 的 Argo 文档,他们提供了一个简单的代码 sn-p 来检索 JSON 数据,但在运行它时出现错误。 sn-p 是:

// Wherever you receive JSON data:

let json: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions(0), error: nil)

if let j: AnyObject = json {
  let user: User? = decode(j)
}

我得到的错误是“在顶层不允许声明”,在说 if let j... 的行上。

为什么这会导致错误,如果它不起作用,为什么在他们的 github 自述文件中?

【问题讨论】:

  • 你把这些行放在哪里了?

标签: json swift


【解决方案1】:

因为它是一个sn-p。您应该在函数中使用它,这是合法的。可执行代码只能出现在函数中。

【讨论】:

  • 基本上他们假设你了解 Swift 的基础知识。
  • 其实只要把文件重命名为“main.swift”,swift就会像脚本一样运行,执行顶层代码就好了,就这样进入程序执行了。但是,这个特殊的 sn-p 不是独立的,它仍然会抱怨“数据”未定义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多