0

Web サービスに渡すパラメータを含む文字列を作成しようとしていますが、実行時までパラメータがいくつになるかわかりません。

すべてのパラメーターは配列に格納され、配列を反復処理して、それぞれに文字列を追加します。

.php 側の変数には、field1、field2、field3 などのラベルが付けられています。

私の問題は、for ループで文字列を宣言しようとしたときに発生します。xそれを使用して「フィールド」という単語に追加 しようとしているので、フィールド1、フィールド2、フィールド3などになります。

これを実行しようとすると、予想よりも多くのパラメーターがあったというエラー メッセージが表示されます。

ここに私が持っているものがあります:

NSString *URLWithParameters = [NSString stringWithFormat:@"http://www.mywebsite/service?"];

for (int x = 0; x < [fields count]; x++) {

    NSString *temp = [NSString stringWithString:@"field%i=%@&", x, (NSString *)[fields objectAtIndex:x]];

    URLWithParameters = [URLWithParameters stringByAppendingString:temp];

}
4

2 に答える 2

2

stringWithStringする必要がありますstringWithFormat

于 2012-08-07T20:26:40.447 に答える
1

変化する:

NSString *temp = [NSString stringWithString:@"field%i=%@&", x, (NSString *)[fields objectAtIndex:x]];

に:

NSString *temp = [NSString stringWithFormat:@"field%i=%@&", x, (NSString *)[fields objectAtIndex:x]];


ノート:

次のように直接使用[NSString stringWithFormat:@"http://www.mywebsite/service?"]できます。

NSString *URLWithParameters = @"http://www.mywebsite/service?";

または使用stringWithformat

NSString *URLWithParameters = [NSString stringWithFormat:@"%@", @"http://www.mywebsite/service?"];
于 2012-08-07T20:28:07.440 に答える