次のようなものを入力したい:
address[address1] = adsads
address[address2] = dsadsad
address[address3] = vadsa
それが単純な投稿であれば、私はできることを知っています:
url?address1=adsads&address2=dsadsa
しかし、投稿でアドレスオブジェクト(配列)にしたい場合、IOSでどのように作成すればよいですか?
ふむ、辞書を使えばいい。
NSMutableDictionary * argDict = [NSMutableDictinary new];
[argDict setObject:@"John" forKey:@"name"];
[argDict setObject:@"26" forKey:@"age"];
...
NSMutableString * url = [NSMutableString stringWithCapacity:30];
[url appendString:@"http://?"];
BOOL isFirstArg = YES;
for (NSString * key in [argDict allKeys]) {
if (isFirstArg) {
[url appendFormat:@"%@=%@", key, [argDict objectForKey:key]];
isFirstArg = NO;
continue;
}
[url appendFormat:@"&%@=%@", key, [argDict objectForKey:key]];
}
注:最初の引数を処理するためのより良い方法も見つけることができると思います:)
辞書を使用することを考えました(私がそうすればうまくいくかもしれません)が、次のようなURLを渡すだけでよいと言われます:
url?address[addres1]=dsadsa&address[address2]=dsadsa
ブラウザとサーバーはそれを自動エンコードせず、[] を特殊文字として読み取るためです。
愚かな質問、すべての答えをありがとう
address1、address2、address3、...などが整数であると仮定すると、次のようにスイッチを使用して実行できます。
for (int i = 0; i < addressX; i++)
{
switch(i)
{
case address1:
address[i]=adsads;
break;
case address2:
address[i]=aoao;
break;
case address3:
address[i]=olol;
break;
case address4:
address[i]=dodo;
break;
case address5:
address[i]=lolo;
break;
}
}