带有NSMutableString的if语句具有前缀电话号码(初学者)

时间:2015-08-30 16:44:52

标签: ios objective-c if-statement nsstring

嘿,我没有成功使用NSString

制作功能性if语句

jABMultiValueGetCount(phones)

我有三种情况:j=0j=1j=2 ......

我希望在j = 012时,不带前缀 02 的数字...

如果j的号码前缀为 06 ,请保存此号码。

如果j有其他前缀的号码保存,除非已保存前缀 06 的号码。

我尝试制作此代码,但它不起作用,我不知道我的错误在哪里:

if (j == 0) {
    if ([phoneNumber hasPrefix:@"02"]) {}
    else
        if ([phoneNumber hasPrefix:@"06"]) {
            person.number = phoneNumber;
        }
        else
        {
            if ([phoneNumber length] == 0)
            {
                person.number = phoneNumber;
            }
        }
}

if (j == 1) {
    if ([phoneNumber hasPrefix:@"02"]) {}
    else
        if ([phoneNumber hasPrefix:@"06"]) {
            person.number = phoneNumber;
        }
        else
        {
            if ([phoneNumber length] == 0)
            {
                person.number = phoneNumber;
            }
        }
}

if (j == 2) {
    if ([phoneNumber hasPrefix:@"02"]) {}
    else
        if ([phoneNumber hasPrefix:@"06"]) {
            person.number = phoneNumber;
        }
        else
        {
            if ([phoneNumber length] == 0)
            {
                person.number = phoneNumber;
            }
        }
}

1 个答案:

答案 0 :(得分:1)

这似乎是问题(它应该是!=而不是):

if ([phoneNumber length] == 0)

为了使代码更简单,我会做这样的事情 - 应该是相同的结果:

if (j >= 0 && j < 3 && ![phoneNumber hasPrefix:@"02"] && (![person.number hasPrefix:@"06"] || [phoneNumber hasPrefix:@"06"])) {
    person.number = phoneNumber;
}