попытаться выполнить своего рода объединение - PullRequest
0 голосов
/ 29 июля 2011

У меня проблемы с выполнением своего рода конкатенации;

Я получаю 4 разных данных, которые я получаю с помощью "[dico objectForKey: @" alertSerie "]" (например).Данные должны быть показаны с помощью строки, которая вводит данные на экране.Я должен поместить эти данные в одно 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

До сих пор все в порядкекод выглядит так:

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:@" "] ];}

Ответы [ 3 ]

1 голос
/ 29 июля 2011

Вы можете сделать простую проверку, если ключ существует, в противном случае используйте пустую строку:

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 голос
/ 29 июля 2011
NSMutableString *string = [[NSMutableString alloc] init];
if([dico objectForKey:@"alertfriend"] != nil)
{
[string appendString:[NSString stringwithformat:@"This is my friend: %@ \n",[dico objectForKey:@"alertfriend"]];
}

Аналогичным образом добавьте другие строки, если возвращение из словаря не равно нулю.

1 голос
/ 29 июля 2011

Вам нужно проверить, есть ли у человека друзья, подруга и мама. Это означает, что вы должны использовать условия. Это можно сделать, используя несколько простых операторов 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...