swift - 初始化前使用的常量 'XXX'

标签 swift

我是 swift 的新手..任何人都可以帮助我理解为什么会抛出这个错误

Constant 'parsedResult' used before being initialized

另一方面,如果我在 catch 中设置了 return,那么编译错误就消失了。它们之间的关系是什么。请解释。

这是我的代码:

 if let data = data {
     let parsedResult : AnyObject!
          do {
              parsedResult = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
                                            }
           catch{
                print("something  worng ")
                // return

             }
             // error compiler error this line 
                    print(parsedResult)
         }

最佳答案

这很容易通过将 parseResult 声明为 AnyObject 来解决?这意味着它将被初始化为零。 print 将打印一个可选值,它可以很好地完成。

请注意您使用的词语。 “//error throwing this line”完全是误导。此行没有抛出错误。在运行时抛出错误。您让编译器在此行报告错误。要精确。

关于swift - 初始化前使用的常量 'XXX',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050610/

相关文章:

ios - 使用 iOS Swift 将带有额外参数的文件上传到 AWS S3

ios - 我在旧项目中收到错误 No such module 'Realm' 但在新项目中没有错误 - Swift

ios - 在设备之间共享数据(Swift)

ios - Swift:错误:链接器命令失败,退出代码为 1

ios - 使用未解析的标识符 'connections' ;你的意思是 Auth0 中的 'Connections' 吗?

swift - 使用 UIActivityViewController 共享您的设备屏幕

Swift 3 在索引路径处打破行的单元格

swift - Firebase:如何从子节点swift中提取子键值

ios - 将 XIB 中的 View 添加到自定义 UINavigationBar 子类

swift - 可以制作通用枚举 UIPickerView