题
我想从iPhone的SDK将多个参数传递到一个服务器端PHP与MySQL数据库接口。
我发现了如何做到这一点一些答案,但我有一个很难搞清楚如何将几个参数。
我现在所拥有的是
- (IBAction)sendButtonPressed:(id)sender
{
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d", theDate];
NSURL *url = [[NSURL alloc] initWithString:urlstr];
[urlstr release];
[url release];
}
这将工作1个参数,但我正在寻找的是类似
http://server.com/file.php?date=value&time=value&category=value&tags=value&entry=value
如何将我去这样做呢?
解决方案
在- initWithFormat
的方法需要多个参数的格式串。
所以,你可以做这样的事情:
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d&second=%d&third=%d", theDate, 2, thirdIVar];
- initWithFormat
工作几乎相同printf()
和它的变体。
下面是一些例子printf()
http://stahlforce.com/dev/index。 PHP?工具= csc02
修改:在哪里都变量nameField, tagsField, dreamEntry
定义并设置
除非他们是NSString
s和你不能使用它们以这种方式@interface
定义。
我建议硬编码一些值来进行测试:
NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];
其他提示
创建NSURL确实与服务器不开放通信。这只是用于保存URL的数据结构。要在 NSURLConnection的读了>
都是你正在传递的格式真正的数字变量? %d
为数字的占位符; %@
是一个对象。这是非常令人惊讶路过零,如果你期待一个数字,甚至用于测试目的。它会“工作”,因为零是0,但它表明,这些并不是真正的数字。
不隶属于 StackOverflow