对于有效的URL,NSURL返回nil

时间:2016-01-15 05:49:59

标签: ios swift nsurl

我有一个有效的Google地图网址,如果您在浏览器中运行,则会显示地图图片。但是,当我把它放在我的Swift代码中并尝试从String创建NSURL时,它返回nil

T 11 min(Recorded)

目前,这将返回零,我不知道为什么。我做错了吗?

2 个答案:

答案 0 :(得分:5)

应该有效:这就是为什么http://www.url-encode-decode.com

        let url = NSURL(string: urlString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)

由于上述API已被弃用,替代方法是

    let url = NSURL(string: urlString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)

答案 1 :(得分:1)

查看Apple documentation

  

此方法要求URLString仅包含正确形成的URL中允许的字符。所有其他字符必须正确转义百分比。任何百分比转义字符都使用UTF-8编码进行解释。

您的字符串中可能存在不正确的内容,您需要在将其传递给<?php return array( 'caches' => array( 'memcache' => array( //can be called directly via SM in the name of 'memcached' 'adapter' => array( 'name' =>'memcache', 'ttl' => 7200, 'options' => array( 'servers' => array( array( '127.0.0.1',11211 ) ), 'namespace' => 'MYMEMCACHEDNAMESPACE', ) ), 'plugins' => array( 'exception_handler' => array( 'throw_exceptions' => false ), ), ), ), ); 之前对其进行编码,您可以通过NSURL执行此操作:

stringByAddingPercentEncodingWithAllowedCharacters