0

サーバーに配列を渡したい。GETメソッドを使用したので、urlの後に引数を渡す必要があります。次のようになります。

http://www.myserver.com/?name=username&pwd=password

しかし今、私は配列を持っています。NSDictionaryが含まれています。どうすればURLに追加できますか?

4

1 に答える 1

0

以下は、私が過去に使用した 1 つの提案です。

NSMutableString* get_string=[[NSMutableString alloc] init];

int i = 1;
NSEnumerator* arrayEnumerator = [myArray objectEnumerator];
NSDictionary* myDict;

while(myDict = [arrayEnumerator nextObject])
    {
    [get_string appendString:@"&e"];
    [get_string appendString:[NSString stringWithFormat:@"%d", myInt]];
    [get_string appendString:@"myFirstKey="];
    [get_string appendString:[myDict objectForKey:myFirstKey]];
    [get_string appendString:@"&e"];
    [get_string appendString:[NSString stringWithFormat:@"%d", myInt]];
    [get_string appendString:@"mySecondKey"];
    [get_string appendString:[myDict objectForKey:mySecondKey]];
    }

これを正しく行った場合、出力は次のようになります。

&e1myFirstKey=5&e1mySecondKey=8&e2myFirstKey=4&e2mySecondKey=9

最初の & を取り除き、URL と "?" を平手打ちします。前面に配置して、サーバーに送信します。サーバーは、「isset」などでテストして、数値がいつ停止するかを確認することにより、これを特定する必要があります。

任意の数の配列要素があるが、個々の辞書には既知のフィールドがあると仮定しています。つまり、ユーザー辞書の配列を渡していますが、各辞書には「ユーザー」フィールドと「パスワード」があります。 " 分野。そうでない場合でも、この方法を使用できますが、通信の両側でもう少し作業を行う必要があります。

于 2012-10-18T20:09:14.213 に答える