Swift 1.2将参数添加到URL不工作。早些时候工作得很好
我已经将我的XCode更新为6.3.2,并且我正在向URL添加参数,但是“+”操作符不起作用,并给出如下错误 这是我的URL,我在其中添加了Swift 1.2将参数添加到URL不工作。早些时候工作得很好,swift,url,nsstring,Swift,Url,Nsstring,我已经将我的XCode更新为6.3.2,并且我正在向URL添加参数,但是“+”操作符不起作用,并给出如下错误 这是我的URL,我在其中添加了strEmail(NSString对象)作为参数 var urlstring = "http://example.com/api/api.php?action=getReceivedMessages&ReceiverEmail=" + strEmail 这就是我得到的错误 "Binary Operator '+' cannot be applied
strEmail
(NSString对象)作为参数
var urlstring = "http://example.com/api/api.php?action=getReceivedMessages&ReceiverEmail=" + strEmail
这就是我得到的错误
"Binary Operator '+' cannot be applied to operands of type 'String' and 'NSString' "
可以使用字符串插值
var urlstring = "http://example.com/api/api.php?action=getReceivedMessages&ReceiverEmail=\(strEmail)"
或者将strEmail作为字符串来使用
var urlstring = "http://example.com/api/api.php?action=getReceivedMessages&ReceiverEmail=" + (strEmail as String)
您需要将
NSString
转换为String
类型。有不同的方法可以做到这一点,请参见以下内容:
var urlstring = "http://example.com/api/api.php?action=getReceivedMessages&ReceiverEmail=" + String(strEmail)
或
或
从Swift 1.2中,删除了从
NSString
到String
的隐式转换:
发件人:
从桥接的Objective-C类(NSString/NSArray/NSDictionary)到相应的Swift值类型(String/Array/Dictionary)的隐式转换已被删除,从而使Swift类型系统更简单、更可预测
必须使用as
将其显式转换为字符串
:
"...iverEmail=" + (strEmail as String)
var urlstring = "http://example.com/api/api.php?action=getReceivedMessages&ReceiverEmail=\(strEmail)"
"...iverEmail=" + (strEmail as String)