iOS Xcode NSURL参数太多了

时间:2012-10-18 12:38:10

标签: php objective-c ios xcode nsurl

在我的代码中,我试图将一些数据发送到我的PHP文件

为了在我的SQL中添加东西,我使用GET方法。

到目前为止,我需要在网站上使用一个表单,但我想在浏览时添加数据,例如:

此处

http://server.com/add.php?user=some数据& message =此处的最新数据

到目前为止,我正在尝试使用此代码:

 NSURL *add = [NSURL URLWithString:@"http://server.com/ios/add.php?user=iPhone App&message=%@",
                                 messageBox.text]; 

 [messageView loadRequest:[NSURLRequest requestWithURL:add]];

然而Xcode告诉我:“方法调用的参数太多,预期为1,有2”

3 个答案:

答案 0 :(得分:1)

试试这个

NSString *urlString = @"http://server.com/ios/add.php?user=iPhone App&message=";
NSString *escapedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *add = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",escapedString, messageBox.text]];
[messageView loadRequest:[NSURLRequest requestWithURL:add]]; 

您应该使用NSString +stringWithFormat:

答案 1 :(得分:0)

URLWithString接受字符串或字符串文字。 这就是你应该这样做的方式:

NSString* urlString = [NSString stringWithFormat:@"http://server.com/ios/add.php?user=iPhone App&message=%@", messageBox.text];
NSURL *add = [NSURL URLWithString:urlString];  
[messageView loadRequest:[NSURLRequest requestWithURL:add]];

答案 2 :(得分:0)

NSURL *add = [NSURL URLWithString:[NSString stringWithFormat:@"http://server.com/ios/add.php?user=iPhone App&message=%@", messageBox.text]];

那是因为URLWithString:只需要一个NSString *类型的参数。使用NSString的+ stringWithFormat:方法从格式化的字符串和参数中生成NSString对象。