NSURL总是返回零

Mel*_*cuk 2 iphone nsurl ios

我有WCF服务,我想从我的网络服务获取数据.但URL始终返回nil.为什么?我想将参数发送到来自文本字段值的WCF.例如;

txtfield.text = @"ATA?EH?R";
Run Code Online (Sandbox Code Playgroud)

怎么了 ?

NSString *request = [NSString stringWithFormat:@"http://www.xxxxxxxx.com/CCWCF.svc/MethodName/%@",txtfield.text];
NSURL *URL = [NSURL URLWithString:[request stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的东西,但结果并没有改变.

NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.xxxxxxxx.com/CCWCF.svc/MethodName/%@",txtfield.text]];
Run Code Online (Sandbox Code Playgroud)

要么:

NSURL *URL = [[NSURL alloc] initWithString:[request stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
Run Code Online (Sandbox Code Playgroud)

Sul*_*han 5

NSString* encodedText = [txtfield.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *request = [NSString stringWithFormat:@"http://www.xxxxxxxx.com/CCWCF.svc/MethodName/%@",encodedText];
NSURL *URL = [NSURL URLWithString:request];
Run Code Online (Sandbox Code Playgroud)

另外,[NSString stringByAddingPercentEscapesUsingEncoding:]对于URL编码可能有点问题.使用更安全的方式Core Foundation.例如,请参阅http://madebymany.com/blog/url-encoding-an-nsstring-on-ios(找不到SO问题).