如何处理:Swift.ImplicitlyUnwrappedOptional<Swift.String>.some

How to handle this: Swift.ImplicitlyUnwrappedOptional<Swift.String>.some

从 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 ?? "")