从 Xcode 9.3 开始,我的模型中的字符串变量用“Swift.ImplicitlyUnwrappedOptional.some”包装

我不知道这是怎么发生的,但它毁了我的应用程序!

我创建我的模型是这样的:

struct MyModel {
  var myString:String!
  init(){} // for creating empty instances.
  init(son:JSON){
     myString = son["theStringKey"].string
  }
}

直到 Xcode 9.3 当我打印我的模型时,我才从中获得了纯字符串变量。

但是在 Xcode 9.3 之后,它给了我 Swift.ImplicitlyUnwrappedOptional.some("MyStringValue") 内的包裹字符串

任何想法这是什么?

最佳答案

今天我在 Xcode 中遇到了同样的错误 9.3 V
只需添加选项值? ""你的问题解决了

  let paramData:Dictionary<String,Any> = [ PARAM.REQUEST_ID : requestId ?? ""]

在这里你可以在字典中传递json替换
struct MyModel {
    var myString:String!
    init(){} // for creating empty instances.
    init(son:Dictionary<String,Any>){
        myString = son["theStringKey"] as! String
    }
}
print(MyModel.init(son: ["theStringKey":"Harshil"]).myString ?? "")

10-08 01:42