如果在加载字符串时在NSUserDefault中声明

时间:2014-08-09 20:18:27

标签: objective-c xcode if-statement loading nsuserdefaults

我有以下用于保存值和字符串的代码。我想使用If语句检查我的值。

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setObject:@"Baseball bat" forKey:@"Weaponsname"];
    NSInteger Attack1 = [defaults integerForKey:@"Attack"];

     NSString *Weapon = [defaults stringForKey:@"Weaponsname"];
    if([Weapon  isEqual: @"Baseball bat"]){
        [defaults setInteger:(Attack1+50) forKey:@"Attack"];
        NSLog(@"Baseball bat");
    }


        [defaults synchronize];

所以,如果我有棒球棒,攻击应该增加50但不是。 代码有什么问题? 谢谢

1 个答案:

答案 0 :(得分:2)

对于字符串比较,您应该使用NSString类中的isEqualToString方法。

if ([Weapon isEqualToString:@"Baseball bat"]) { ... }