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和字符串插值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)