NSUserDefaults如果数据等于NSLog

AFB*_*AFB -1 objective-c nsuserdefaults ios

我创建了一个简单的应用程序,当你点击一个按钮,它保存第一次点击与1第二个同时1.所以,我试图检查第一次点击是否等于1然后NSLog它没有奏效.

这是我的代码:

-(IBAction)add:(id)sender
{
//Once the user click on the button it adds 1
static int num = 0;
num+=1;

//Save the number for key "saved and the number" ex: if number is 1 so for key is "saved 1"
NSString *dataa = [NSString stringWithFormat:@"%i", num];
NSString *fkey = [NSString stringWithFormat:@"saved %i", num];
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
[def setObject:dataa forKey:fkey];
[def synchronize];
}

-(IBAction)load:(id)sender
{
//load the data forkey "saved 1" wich will be '1'
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSString *loadd = [def objectForKey:@"saved 1"];
NSLog(@"%@",loadd); 

//and here I failed, here I want to check if [def objectForKey:@"saved 1"] == '1' 
//then NSLog@"Yes" but it NSLogs "NOO"
NSString *no = @"1";

if(loadd == no){
   NSLog(@"YES");
  }else{
        NSLog(@"NOO");
    }

}
Run Code Online (Sandbox Code Playgroud)

那么这里的问题是什么?

提前致谢

vir*_*ndh 5

使用[loadd isEqualToString:no]替代,即比较字符串.

这是文档链接

  • @rokjarc是对的,有时最好的答案来自最简单的解决方案. (2认同)