如何将整数值保存到NSuserDefault像sqlite?
我想在NSUserDefault中保存和检索值。 我正在保存和检索价值成功。 但是当我去cak主页,并再次进来我的课价值不存储和所有的过程再次完成。 它不记得旧的价值。
我正在这样做 –
-(void)ViewDidLoad{ A = 0; // int A; defone in .h [self calling_Once]; } -(void)calling_Once{ NSLog(@"A is: %d",A); // A is always zero when I leave this class and return Back to this class. This is my only problem. I want A=1; when I go back And return to this class but NSInteger B = [[NSUserDefaults standardUserDefaults] integerForKey:@"save_Interger_Value_For_Formula_One"]; //is not able to remeber value. It gives A=0; B =0; When I come back to this class, I want It should return A=1; B=1; and remember old value like sqlite when I return to this class. if (A==0) { [self refreshButton]; NSLog(@"Before Increment A is: %d",A); A++; NSLog(@"After Increment A is: %d",A); [[NSUserDefaults standardUserDefaults] setInteger:A forKey:@"save_Interger_Value_For_Formula_One"]; } NSInteger B = [[NSUserDefaults standardUserDefaults] integerForKey:@"save_Interger_Value_For_Formula_One"]; B = A; NSLog(@" B is: %d",B); B = A; NSLog(@" A is: %d",A); }
任何想法或build议将非常受欢迎。
尝试像这样实施..确保它会帮助…
@implementation ClassA - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [[NSUserDefaults standardUserDefaults]setInteger:100 forKey:@"save_Interger_Value_For_Formula_One"]; [[NSUserDefaults standardUserDefaults] synchronize]; } @end @implementation ClassB - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. int B = [[[NSUserDefaults standardUserDefaults] integerForKey:@"save_Interger_Value_For_Formula_One"] integerValue]; NSLog(@"Interger Value %d",b); }
保存一个整数;
[[NSUserDefaults standardUserDefaults] setInteger:number forKey:@"unique_name"]; [[NSUserDefaults standardUserDefaults] synchronize];
检索它;
NSInteger x = [[NSUserDefaults standardUserDefaults] integerForKey:@"unique_name"];
祝你好运!
NSUserDefaults * def=[NSUserDefaults standardUserDefaults]; [def setInteger:yourvalue forKey:@"YourKey"]; [def synchronize];
试试这个代码….
插入值后,只需synchronize
您的NSUserDefaults
。
[[NSUserDefaults standardUserDefaults] synchronize];
你可以按照这个答案如何删除NSUserDefaults中的用户默认值?
在你的代码最初你将0设置为A,试试这个
-(void)ViewDidLoad { A = [[NSUserDefaults standardUserDefaults] integerForKey:@"save_Interger_Value_For_Formula_One"]; [self calling_Once]; }