String 在字符串中添加引号

String 在字符串中添加引号,string,swift3,concatenation,String,Swift3,Concatenation,我想连接到另一个包含“'”字符的字符串 字符串看起来与所需的一样,但当我使用此字符串创建对象时,会在其中得到一个“\”: 我检查如何处理特殊角色 编辑: 我在理解问题的根源时犯了一个错误。。。 当我尝试用URLQueryItem构建URL时,我得到了 print(EventToUrl.name) // print John's Event let name = URLQueryItem(name: "name", value: EventToUrl.name)

我想连接到另一个包含“'”字符的字符串 字符串看起来与所需的一样,但当我使用此字符串创建对象时,会在其中得到一个“\”:

我检查如何处理特殊角色

编辑: 我在理解问题的根源时犯了一个错误。。。 当我尝试用URLQueryItem构建URL时,我得到了

print(EventToUrl.name) // print John's Event
let name = URLQueryItem(name: "name", value: EventToUrl.name)                               
print(name.description) //print name=John's Event
print(name.value) // print Optional("John\'s Event")
deepLink.queryItems = [name]
print(deepLink.url) //print Optional(https://www.example.com/?id%3D-KZXZG2bcuKHNdYNcGTF%26name%3DJohn's%2520Event%26....)
当我试图发送这个深层链接时,由于“'”字符,我收到了一个错误

我也在这里尝试Eric Aya的答案: 但这对我不起作用:

print(EventToUrl.name)  //print "John's Event"
let name = URLQueryItem(name: "name", value: EventToUrl.name.addingPercentEncoding(withAllowedCharacters: .urlFragmentAllowed))
print(name.description) //Print name=John's%20Event
print(name.value) //Print Optional("John\'s%20Event")
print(deepLink.url)    //print
    Optional(https://www.example.com/?id%3D-KZXWVbBolmso5DT4p2I%26name%3John's%252520Event%26.......)
独立代码:

var urlTestComponents = URLComponents()
urlTestComponents.scheme = "https"
urlTestComponents.host = "www.example.com"
urlTestComponents.path = "/"
let nameTest = URLQueryItem(name: "name", value: "John's Event")
urlTestComponents.queryItems = [name]
print(urlTestComponents.url)
最后一行打印“'s%20Event”,如果我尝试发送它(使用whatsApp),url会在中间被剪切,因为“'”


事件3w.name是可选属性吗?那么这就是打印函数的人工制品。@MartinR,我不确定人工制品是什么意思,我用我的事件类编辑我的问题。请告诉我们事件初始化是如何完成的,名称属性是什么类型。@EricAya,只需添加编辑我无法复制你的问题,它对我来说打印正常。
event3W.name
是可选属性吗?那么这就是打印函数的人工制品。@MartinR,我不确定人工制品是什么意思,我用我的事件类编辑我的问题。请告诉我们事件初始化是如何完成的,名称属性是什么类型。@EricAya,只需添加编辑。我无法复制你的问题,它可以为我打印。