如何处理:Swift.ImplicitlyUnwrappedOptional <swift.string> .some

时间:2018-04-10 06:54:48

标签: swift model swift4 wrapping

从Xcode 9.3开始,我在我的模型中得到了我的字符串变量,包含&#34; Swift.ImplicitlyUnwrappedOptional.some&#34;

我不知道这是怎么回事,但它破坏了我的应用程序!

我创建了这样的模型:

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(&#34; MyStringValue&#34;)

任何想法是什么?

1 个答案:

答案 0 :(得分:2)

今天我在Xcode 9.3 V

中面临同样的错误

只需添加选项值? “”你的问题已经解决了

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

在这里你可以在Dicttionry中传递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 ?? "")