2011-08-11 9 views
5

WebサービスからUIPickerViewにカテゴリのリストを入れる方法は誰でも知っていますか? また、隠れた値を入れることは可能ですか?WebサービスからUIPickerViewにデータを取り込む方法は? [iOS App Development]

例、「2」などの隠されたIDの「1」
「メンバー」の隠されたIDを持つ
「パブリック」..

これらの2つの値がWebサービスからのものです。私は途中でASIHTTPRequestフレームワークを使用しています。

私は、誰かが助けることができているのiOS/XCodeの/目的C.ホープの初心者です):あなたの

===============回答ありがとうございました=== =============

@MSgambel
申し訳ありませんが、説明するために最善を尽くしてください。現在、アイテムをUIPickerViewに挿入する方法は次のとおりです。

[NSArray arrayWithObjects:@ "John Appleseed"、@ "Chris Armstrong"、@ "Serena Auroux"、@ "Susan Bean"、@ "Luis Becerra" @ "Kate Bell"、@ "Alain Briere"、nil];

上記の項目の代わりに、Webサービスからアイテムをピッカーに移入するにはどうすればよいですか?

@Akshay
私が隠していたのは、ピッカーに2つの値がありますが、ID「1」ではなく「Public」というラベルだけがピッカーに表示されているということです。私はウェブサイトのドロップダウンメニューにいくらか似ています。
DOMAINID:ドメイン名
1:公共
2:A社
3:B社
どこ別のデータベース "ユーザー" があります "ドメイン" は、我々は次の形式で値を持っているというデータベースで

それはDomainIDに結びついています。 (ちょっとした例)


ピッカーはインターフェイスに「Public」と表示されます。ユーザーが選択すると、値は「1」になります。とにかく私はそのようなことをすることができますか?

+0

あなたが望むものを説明すれば、私たちはより簡単に手伝ってくれるでしょう! – msgambel

+0

隠し値/ idはどういう意味ですか? – Akshay

+0

私は私の質問を再投稿しました。私は技術専門用語で十分な経験ではないので、正直に説明するのが得意ではありません。私の質問に気をつけてくれてありがとう。 – daney

答えて

1

まず、あなたのWebサービスの詳細について多くの詳細を提供していません。 SOAPベースだと仮定すると、sudzcまたはwsd2lobjcを強くお勧めします。これらは、WSDLのdefをObjective Cのクラスに変換するコードを生成します。

UIPickerViewの「隠れた」値についての質問は、これはかなり単純です。 のNSDictionariesを作成します。あなたの例を使用して(すべての文字列であると仮定した場合):あなたはpickerviewを使用するものは何でもで

NSDictionary *dictOne = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"realValue",@"Public",@"looksGoodValue",nil]; NSDictionary *dictTwo = [NSDictionary dictionaryWithObjectsAndKeys:@"2",@"realValue",@"CompanyA",@"looksGoodValue",nil]; NSDictionary *dictTre = [NSDictionary dictionaryWithObjectsAndKeys:@"3",@"realValue",@"CompanyB",@"looksGoodValue",nil];

array = [NSArray arrayWithObjects:dict1,dict2,dict3,nil];

とあなたのUIPickerViewDelegate方法で

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {

return [[self.array objectAtIndex:row] objectForKey:@"looksGoodValue"];

}

、最終的には(Webサービスと言う)

request.realValue = [[self.array objectAtIndex:[pickerView selectedRowInComponent:0]] valueForKey:@"realValue"];

希望する助けて!

+0

ジャスティンに感謝、この1つを試してみましょう! – daney

+0

@tacos_tacos_tacosさんありがとうございました – nivritgupta

0

ASIHTTPRequestを使用してロードした後、これらの値をpropertyListに保存します。ファイルを保存するには

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory、NSUserDomainMask、YES);

NSString * documentsDirectory = [paths objectAtIndex:0];

NSString * path = [documentsDirectory stringByAppendingPathComponent:@ "data.plist"];

NSMutableArray * array = [[NSMutableArray alloc] init]; [配列のaddObject:[NSArray arrayWithObjects:[NSString stringWithFormat:@ "%@"、stringOne]、//そのような文字列をすべて追加します]]; [array writeToFile:path atomically:YES]; `

次に、[NSMutableArray alloc] initWithContentsOfFile:path]を使用して、値をpickerViewにロードします。

+0

ありがとうございましたMaxner、これは役に立つかもしれません(: – daney

関連する問題