質問
Iは、MySQLデータベースとのインタフェースサーバ側のPHPにiPhoneのSDKから複数のパラメータを渡したい。
私はこれを行う方法のいくつかの答えを見つけました、しかし、私はいくつかのパラメータを含める方法を考え出す苦労しています。
私は今持っていることです。
<時間>- (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
番号のプレースホルダです。 %@
はオブジェクトです。それはあなたも、テスト目的のために、番号を期待している場合はnilを渡すことが非常に驚くべきことです。 nilで0ですが、それはこれらが実際に数字ではないことを示唆しています。