Why isn't is possible to append a String! via += operator?

后端 未结 2 585
清酒与你
清酒与你 2021-01-21 00:16

As the title says I\'m trying to append text to an implicitly unwrapped optional String via += operator which gives me

\'String!\' is not identical          


        
2条回答
  •  忘掉有多难
    2021-01-21 00:39

    String! is implicitly unwrapped optional type which is special case of optional type.

    As you may know String! is not identical to String. So when you write:

    var myOptionalString: String! = "Foo "
    myOptionalString += " bar" // error: String! is not identical to 'UInt8'
    

    it will try to find += operator with String! which it could not and the hence error.

    if you explicitly unwrap it (you could say then it defies the purpose) works:

     myOptionalString! += " bar"
    

提交回复
热议问题