swift – URL和字符串插值

swift – URL和字符串插值,第1张

概述似乎URL初始化器(字符串:“”)在使用字符串插值时拒绝正确初始化.问题是,当我使用类似的东西时 let url = URL(string: "http://192.168.1.1") 它有效,但以下 let host = "192.168.1.1"let url = URL(string: "http://\(host)") 不和url = nil. 在Playground中既可以工作,也可以 似乎URL初始化器(字符串:“”)在使用字符串插值时拒绝正确初始化.问题是,当我使用类似的东西时

let url = URL(string: "http://192.168.1.1")

它有效,但以下

let host = "192.168.1.1"let url = URL(string: "http://\(host)")

不和url = nil.

在Playground中既可以工作,也可以不在代码中.我仔细检查了变量主机是否设置正确.

任何的想法?

解决方法 有类似的问题.

这在Swift 2中有效但在Swift 3中有所突破(我在两个应用程序之间反d,类似于Facebook和Facebook Messenger):

var userID: Int!var userType: String!// userID and userType are set by some code somewhere else...if let url = URL(string: "anotherappicreated://?userID=\(userID)&userType=\(userType)") {    UIApplication.shared.openURL(url)   // Open our other app}

在Swift 2中,隐式解包的选项(用!声明的变量)无需打开它们就可以工作.在Swift 3中,您似乎必须明确解包选项:

var userID: Int!var userType: String!// userID and userType are set by some code somewhere else...if let userID = userID,// <-- HAD TO ADD THIS    let userType = userType,// <-- AND THIS    let url = URL(string: "anotherappicreated://?userID=\(userID)&userType=\(userType)") {    UIApplication.shared.openURL(url)   // Open our other app}
总结

以上是内存溢出为你收集整理的swift – URL和字符串插值全部内容,希望文章能够帮你解决swift – URL和字符串插值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1007846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存