let url = NSURL(string: "http://example.com")
据我所知NSURL
返回nil
时,其构造失败。
如何获取失败错误信息?
答案 0 :(得分:4)
据我所见,网址失败的主要原因是网址字符无效。
你可以用...来解决这个问题。
<input type="text" value='example value' id="txtToGet"/>
<br>
<button type="button" onclick="addText()">Add</button>
<br>
<textarea id='idOfTheTextarea'></textarea>
如果没有看到您实际尝试使用它的字符串,很难说出问题所在。
答案 1 :(得分:3)
不幸的是,NSURL
不会告诉您为什么网址创建失败。
在NSURL
上执行ALT + CLICK时从Xcode弹出窗口中显示:
处理对象创建失败
如果传递的路径格式不正确,则NSURL类无法创建新的NSURL对象;路径必须符合RFC 2396.不成功的情况示例是包含空格字符和高位字符的字符串。如果创建NSURL对象失败,则创建方法返回nil,您必须准备好处理它。
因此如果失败,NSURL将返回nil,而不提供任何进一步的细节。通常使用可选绑定,可选链接,防护或任何其他已知技术来安全地解包选项,并遵循Fogmeister的建议并在使用前对URL字符串进行编码。
答案 2 :(得分:0)
使用 Swift 5
更新答案let theURLString = "URL" // your url string
let validURLString = theURLString.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)
let url = URL(string: validURLString)