0

iphone sdk から、mySQL データベースとやり取りするサーバー側の php に複数のパラメーターを渡したいと思います。

これを行う方法についていくつかの答えを見つけましたが、いくつかのパラメーターを含める方法を理解するのに苦労しています。

私が今持っているのは


- (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

どうすればこれを行うことができますか?

4

2 に答える 2

2

この- initWithFormatメソッドは、フォーマット文字列に複数の引数を取ります。

したがって、次のようなことができます。

  NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d&second=%d&third=%d", theDate, 2, thirdIVar];

- initWithFormatprintf()およびそのバリアントとほぼ同じように機能します。

ここにいくつかのprintf()例がありますhttp://stahlforce.com/dev/index.php?tool=csc02

編集:変数はどこでnameField, tagsField, dreamEntry定義および設定されていますか?

NSStringそれらがで定義されていない限り@interface、このように使用することはできません。

テスト用にいくつかの値をハードコーディングすることをお勧めします。

    NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];
于 2009-05-27T13:50:03.013 に答える
1

NSURL を作成しても、サーバーとの通信は開かれません。URL を保持するための単なるデータ構造です。NSURLConnectionを読みたいと思います。

フォーマットで渡すすべての変数は本当に数値ですか? %d数値のプレースホルダーです。%@はオブジェクトです。テスト目的であっても、数値を期待している場合に nil を渡すのは非常に驚くべきことです。nil は 0 であるため「機能」しますが、実際には数値ではないことが示唆されます。

于 2009-05-27T14:28:42.450 に答える