0

重複の可能性:
目的 c の文字列を比較するにはどうすればよいですか?
Objective-C If ステートメント?

== 係数を使用して Objective-C で文字列を比較しようとすると、結果が得られません。私がやっていることは、XML 文書を持っていて、「日」という値を取得して、それらを比較することです。しかし、私が言ったように、何も起こりません。

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); 
            }             
            
        }
    }
}

これは文字列を変数と比較する間違った方法ですか?

ありがとうございました!

4

2 に答える 2

9

isEqualToStringNSString クラスから使用 して文字列を比較する

ドキュメンテーション

于 2012-07-01T10:06:24.840 に答える
1

次の if 条件を使用します...

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

このような場合はすべて使用してください..

これはあなたを助けるかもしれません..

于 2012-07-01T10:46:02.597 に答える