ios - 保存用户分数

标签 ios iphone save

Ola,我正在尝试找到一种保存用户分数的方法,这样当它从后台关闭时它会保存他们的分数,当再次打开时它会再次显示该分数。顺便说一下,我保存的东西是一个点击计数器,所以当他们点击它时,必须添加到他们之前的分数上。

有什么建议吗?

enter image description here

enter image description here

enter image description here

最佳答案

保存:

int numberOfTaps = 42; // some number of taps
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
[standardUserDefaults setValue:[NSNumber numberWithInt:numberOfTaps] forKey:@"numberOfTaps"];

检索:

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
int savedTaps = [[standardUserDefaults objectForKey:@"numberOfTaps"] intValue];

更新以获取更多信息

只是为了让它变得非常简单:

将这些方法复制到您的 .m 中的某处

- (void) saveNumberOfTaps:(int)numberOfTaps {
    [[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithInt:numberOfTaps] forKey:@"numberOfTaps"];
    NSLog(@"Saved numberOfTaps: %i", numberOfTaps);
}

- (int) getNumberOfTaps {
    if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"numberOfTaps"] intValue]) {
        int numberOfTaps = [[[NSUserDefaults standardUserDefaults] objectForKey:@"numberOfTaps"] intValue];
        NSLog(@"Getting numberOfTaps: %i", numberOfTaps);
        return numberOfTaps;
    }
    else {
        NSLog(@"No taps saved yet");
        return 0;
    }
}

然后每当你想使用这些值时,你可以使用下面的:

// Save Taps
[self saveNumberOfTaps:14];

// Get Taps
int taps = [self getNumberOfTaps];
NSLog(@"taps retrieved: %i", taps);

关于ios - 保存用户分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288910/

相关文章:

ios - Swift 中的幻灯片转场

iphone - 当您尝试从不同的线程保存 managedObjectContext 时会发生什么?

ios - NSString 到 NSDate for yyyy-MM-dd'T'HH :mm:ss. SSS+05:30 格式

android - 在 Android 中存储字符串的最有效方式

ios - 来自 OpenGL 的 CoreGraphics 图像渲染具有黑色背景

ios - RealmSwift 列表<String> EXC_BAD_ACCESS

iOS 覆盖 View 中某些组件/对象的自动布局

iphone - 将 iOS 音乐库中的歌曲提取到应用程序中?

android - 在其他应用程序中创建后看不到我的文件夹或文件

c# - 不支持图像的给定路径格式