2011-07-29 5 views
0

私は一種の連結をすることで問題があります。一種の連結を実行しようとしています

"[dico objectForKey:@" alertSerie "]"(たとえば)を使用して取得する4つの異なるデータが表示されます。 データは、画面上にデータを導入する文字列で表示する必要があります。 これらのデータを1つのUITextFieldに配置する必要があります。

例:

[dico objectForKey:@"alertfriend"] = Beth 
[dico objectForKey:@"alertmom"] = Lise 
[dico objectForKey:@"alertgirlf"] = Angela 


text for Beth will be "This is my friend :" 
text for Lise will be "This is my mom :" 
text for Angela will be "This is my girlfriend :" 

で、UITextFieldで、私が表示したい:

This is my friend :Beth 
This is my mom : Lise 
This is my girlfriend : Angela 

それはOKだ今まで、コードは次のようになります。

field.text = [NSString stringWithFormat:@"NThis is my friend : %@\nTHis is my mom : %@\nThis is my girlfriend : %@\n",[dico objectForKey:@"alertfriend"], [dico objectForKey:@"alertmom"], [dico objectForKey:@"alertgfriend"] ]; 

、それは一人の人が友人も、お母さんも、恋人もいない可能性があります...

どうすればいいですか?

私はあなたの注意のために...私のために、通常ではありません、それはこのような状況で、私に問題を引き起こす

おかげで多くのことを多くの可能性が、我々は、オブジェクトを連結することができないという事実を試してみました!

編集:

私はそのコードを試しましたが、間違いがあります。 ]または何か...

if ([dico objectForKey:@"alertSerie"]) { 
     NSString *serie = [NSString stringWithFormat:@"Numéro de série : %@\n", [dico objectForKey:@"alertSerie"] ];} 
    else { 
     NSString *serie = [NSString stringWithFormat:@" "] ];} 

    if ([dico objectForKey:@"alertDate"]) { 
     NSString *date = [NSString stringWithFormat:@"Date de mise en service : %@\n", [dico objectForKey:@"alertDate"] ];} 
    else { 
     NSString *date = [[NSString stringWithFormat:@" "] ];} 

    if ([dico objectForKey:@"alertCli"]) { 
     NSString *cli = [NSString stringWithFormat:@"Nom du client associé : %@\n", [dico objectForKey:@"alertCli"] ];} 
    else { 
     NSString *cli = [NSString stringWithFormat:@" "] ];} 
+0

ディコは私を笑わせました。 –

+0

あなたのために幸せになる...それは私に泣く^^ – clement

+0

私の答えを確認してください、あなたはそれを笑顔になることを願っています。 –

答えて

1

あなたには、友人、ガールフレンド、そしてお母さんがいるかどうかを確認する必要があります。つまり、条件を使用する必要があります。これはいくつかの単純なif文を使って行うことができます。

NSMutableString *text = [[NSString alloc] init]; 

if([dico objectForKey:@"alertmom"] != nil) 
{ 
    [text appendFormat:@"This is my Mom: %@ \n", [dico objectForKey:@"alertmom"]]; 
} 
if([dico objectForKey:@"alertfriend"]!= nil) 
{ 
    [text appendFormat:@"This is my friend: %@ \n", [dico objectForKey:@"alertfriend"]]; 
} 
if([dico objectForKey:@"alertgirlf"] != nil) 
{ 
    [text appendFormat:@"This is my girlfriend: %@ \n", [dico objectForKey:@"alertgirlf"]]; 
} 

field.text = text; 
1

キーが存在する場合は、簡単なチェックを行うことができますが、そうでない場合は、空の文字列を使用します。あなたはさらに行くと簡単な関数を作成することができます

NSString *mom = [dico objectForKey:@"alertmom"]; 
if (mom == nil) 
    mom = @""; 

を:

-(NSString *) getValueFromKey:(NSString*)theKey inDictionary:(id)theDic { 
    if([theDic objectForKey:theKey] == nil) 
     return @""; 
    else 
     return [theDic objectForKey:theKey]; 
} 
1
NSMutableString *string = [[NSMutableString alloc] init]; 
if([dico objectForKey:@"alertfriend"] != nil) 
{ 
[string appendString:[NSString stringwithformat:@"This is my friend: %@ \n",[dico objectForKey:@"alertfriend"]]; 
} 

同様に、辞書からの戻り値がnilでなければ、他の文字列を追加します。

+0

+ [NSString stringwithformat:]:認識されないセレクタを送信 – clement

+0

それはコンパイルされていないコードは、メソッドの大文字小文字をチェックしてください。それはstringWithFormatでなければなりません。申し訳ありません。あなたにアイデアを伝えたい。 –

+0

はい、それは;-)ありがとう:-) – clement

関連する問題