Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift 3中的字符串concate问题_Ios_Swift_Swift3 - Fatal编程技术网

Ios swift 3中的字符串concate问题

Ios swift 3中的字符串concate问题,ios,swift,swift3,Ios,Swift,Swift3,我正在根据名字和姓氏创建用户名。它在swift 2.2上运行良好,但在迁移到swift 3之后,现在字符串确实得到concate,但当它得到concate时,名字是可选的。查看下面的图片 像这样使用 let name = "\(firstName!) \(lastName)" 我也尝试过基本的例子。如果字符串包含可选(“”,则可以通过强制编译器隐式强制展开来解析该字符串 你可以在操场登记 let firstname : String! let lastname : String! firs

我正在根据名字和姓氏创建用户名。它在swift 2.2上运行良好,但在迁移到swift 3之后,现在字符串确实得到concate,但当它得到concate时,名字是可选的。查看下面的图片

像这样使用

let name = "\(firstName!) \(lastName)"
我也尝试过基本的例子。如果字符串包含可选(“”,则可以通过强制编译器隐式强制展开来解析该字符串

你可以在操场登记

let firstname : String!
let lastname : String!
firstname = "Hello" ==> "Hello"
lastname = "World" ==> "World"

let fullname = "\(firstname) \(lastname)" ==> "Optional("Hello") Optional("World")"

let fullname = "\(firstname!) \(lastname!)" ==> "Hello World"

使用上述解决方案尝试一下,希望能有所帮助

用户名<代码>让name=“\(firstName)\(lastName)”@Parth,你能把代码粘贴好让我们在地上玩吗?:)@脚本化:游乐场不接受您的syntaxfirstName已经是隐式未包装字符串,那么为什么需要这样做?是的,这是正确的,它会被它修复,但即使我不添加类型,它仍然是字符串@BaSha如果firstname已经是隐式的,那么它将显示正确的值,对吗?但是如果不是,那么你必须强制编译器隐式地强制为你打开它。@Wolverine:Agree