比较Objective-C中的字符串

时间:2012-07-01 09:59:30

标签: iphone objective-c

  

可能重复:
  How do I compare strings in objective c?
  Objective-C If statement?

当我尝试使用==因子比较Objective-C中的字符串时,我没有得到任何结果。我正在做的是拥有一个XML文档,然后检索值“day”,然后比较它们。但正如我所说,没有任何事情发生。

XML代码:

<dagensretlist>
<dagensret>
<day>mandag</day>
<date>Mandag 2. juli</date>
<name>Kylling fillet med rosti og salat</name>
<description>Den sprodeste kyllingfillet med Antons piksved</description>
</dagensret>

<dagensret>
    <day>tirsdag</day>
<date>Tirsdag 3. juli</date>
<name>Kylling fillet med rosti og salat</name>
<description>Den sprodeste kyllingfillet med Antons piksved</description>
</dagensret>

<dagensret>
    <day>onsdag</day>
<date>Onsdag 4. juli</date>
<name>Kylling fillet med rosti og salat</name>
<description>Den sprodeste kyllingfillet med Antons piksved</description>
</dagensret>

<dagensret>
<day>torsdag</day>
    <date>Torsdag 5. juli</date>
<name>Kylling fillet med rosti og salat</name>
<description>Den sprodeste kyllingfillet med Antons piksved</description>
</dagensret>

<dagensret>
    <day>fredag</day>
<date>Fredag 6. juli</date>
<name>Kylling fillet med rosti og salat</name>
<description>Den sprodeste kyllingfillet med Antons piksved</description>
</dagensret>
</dagensretlist>

代码本身:

- (void)getCurrencyList {
    NSArray *currencyList = [self getAllItems:@"//dagensret" fileName:@"dagensret.xml"];
    int numberOfCurrencies = [currencyList count];
    
    NSString *name, *date, *description, *day;
    if (numberOfCurrencies > 0) {
        for (int i = 0; i < numberOfCurrencies; i++) {
            
            name            = [[currencyList objectAtIndex:i] objectForKey:@"name"];
            day             = [[currencyList objectAtIndex:i] objectForKey:@"day"];
            date            = [[currencyList objectAtIndex:i] objectForKey:@"date"];
            description     = [[currencyList objectAtIndex:i] objectForKey:@"description"];
            
            if(day==@"1"){
                NSLog(@"day: %@, date: %@, name: %@, description: %@", day, date, name, description);
                NSLog(@"1");
            }
            if(day==@"tirsdag"){
                NSLog(@"day: %@, date: %@, name: %@, description: %@", day, date, name, description); 
            }
            if(day==@"onsdag"){
                NSLog(@"day: %@, date: %@, name: %@, description: %@", day, date, name, description); 
            } 
            if(day==@"torsdag"){
                NSLog(@"day: %@, date: %@, name: %@, description: %@", day, date, name, description); 
            } 
            if(day==@"fredag"){
                NSLog(@"day: %@, date: %@, name: %@, description: %@", day, date, name, description); 
            }             
            
        }
    }
}

这是将字符串与变量进行比较的错误方法吗?

谢谢!

2 个答案:

答案 0 :(得分:9)

使用NSString类中的isEqualToString来比较字符串

documentation

答案 1 :(得分:1)

使用以下条件......

if([day isEqualToString:@"1"]){
   // your code
}...

如果像这样使用所有..

这可能会对你有所帮助..