Всегда добавление двух объектов, кроме одного, в массив (ошибочно, если еще) - PullRequest
0 голосов
/ 04 марта 2012

Я удалил код между строк, потому что в этом нет ничего особенного, просто добавив контакт в массив.Я думаю, что это связано с скобками.Так что, надеюсь, у кого-то хороший глаз и он может сказать мне, почему его всегда добавляют контакт два раза :)

if ([string rangeOfString:@"00"].location == NSNotFound) {


    if(lastName && ([lastName length] > 0)) { 


        NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(1, [str length] - 1)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=%@", ccode, Nummer, firstName, lastName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
    } 
    else {

        NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(1, [str length] - 1)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=""", ccode, Nummer, firstName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

    }

} else if(lastName && ([lastName length] > 0)) { 

       NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(0, [str length] - 0)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=%@", ccode, Nummer, firstName, lastName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

} 
else {

       NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(0, [str length] - 0)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=""", ccode, Nummer, firstName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

}

if ([string rangeOfString:@"+"].location == NSNotFound) {

        if(lastName && ([lastName length] > 0)) { 

       NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(1, [str length] - 1)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=%@", ccode, Nummer, firstName, lastName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

                     } 
        else {

       NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(1, [str length] - 1)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=""", ccode, Nummer, firstName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

        }

    } else if(lastName && ([lastName length] > 0)) { 

       NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(3, [str length] - 3)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=%@", ccode, Nummer, firstName, lastName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];


} 
    else {

       NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        NSString *ccode = [prefs stringForKey:@"cc"];
        NSString *fileName = [prefs stringForKey:@"onumber"];

        NSString *str = number;
        NSString *newNumber = [str substringWithRange:NSMakeRange(3, [str length] - 3)];
        NSString *Nummer = [newNumber stringByReplacingOccurrencesOfString:@" " withString:@""];

        NSString *strURL = [NSString stringWithFormat:@"http://myserver/phpFile.php?number=%@%@&name=%@&lastname=""", ccode, Nummer, firstName];
        NSString *webStringURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

}

Ответы [ 2 ]

1 голос
/ 04 марта 2012

Если какой-то из пропущенного кода выполняется дважды, это потому, что конструкция ваших строк такова, что два из ваших операторов if оба имеют значение true для одной и той же строки.Изучите свои строки, опубликуйте ту, которая добавляется дважды.У одного из них есть + и 00?Но ваш брекетинг в порядке.

ОБНОВЛЕНИЕ Я думаю, я бы начал искать это, добавив операторы NSLog() в каждый из блоков if/else, чтобы увидеть, когда вызывается каждый из них.Если у вас есть удаленный веб-сервис, ошибка также может быть там.На самом деле, это может быть - ваш код obj-c выглядит нормально для меня.Отслеживайте запросы GET на сервере и добавляйте логирование в phpFile.php.

1 голос
/ 04 марта 2012

if ([string rangeOfString:@"+"].location == NSNotFound) условие должно начинаться с else.

Это должно быть так:

else if ([string rangeOfString:@"+"].location == NSNotFound)

Также перед второй строкой if (упомянутой ниже)

if ([string rangeOfString:@"+"].location == NSNotFound))

Вы должны закрыть '}' для первого, если.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...