public extension NSURL { func getqueryItemValueForKey(key: String) -> String? { guard let components = NSURLComponents(URL: self,resolvingAgainstBaseURL: false) else { return nil } guard let queryItems = components.queryItems else { return nil } return queryItems.filter {let example = "http://example.com:-80/"let url = NSURL(string: example)print("url:\(url)") //prints out url:Optional(http://example.com:-80/)if let url = url { let comps = NSURLComponents(URL: url,resolvingAgainstBaseURL: false) print("comps:\(comps)") //prints out comps:nil}.name == key }.first?.value }}
我正在为它编写单元测试,但我无法获得100%的代码覆盖率,因为我似乎无法获得NSURLComponents(URL:self,resolvingAgainstBaseURL:false)返回nil.据我所知,这需要一个格式错误的URL,但我正在努力创建一个.
我试过了:
> let url = NSURL(string:“”)
> let url = NSURL(string:“http://www.example”)
> let url = NSURL(字符串:“http://www.exam ple.com”)
> let url = NSURL(字符串:“http://www.example.com/?param1=äëīòú”)
还有一些我忘记了.我知道这可能是显而易见的事情,但此刻我迷失了.那么,如何在Swift中创建格式错误的URL?
解决方法 在我的研究中发现,您可以使用负端口号(可能有更多情况但不确定)生成NSURLComponents格式错误但不适用于NSURL的URL: 总结以上是内存溢出为你收集整理的ios – 如何在Swift中故意创建格式错误的URL全部内容,希望文章能够帮你解决ios – 如何在Swift中故意创建格式错误的URL所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)