相当于ios中的共享首选项 [英] equivalent to shared preferences in ios

查看:96
本文介绍了相当于ios中的共享首选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将一个Android应用程序移植到ios,我使用的一件事是android中的共享首选项,以便在每次完成一个级别时保存。

I am porting an android app to ios, one thing I used was the shared preferences in android to save each time a level was complete.

这样当用户回到应用程序,他们可以看到他们达到3级或其他。

That way when the user gets back into the app, they can see they are up to level 3 or whatever.

iOS中是否有类似的机制?或者我是否必须手动写出特定于应用程序的文件?

Is there a similar mechanism in iOS? or do I have to manually write out to an application specific file?

如果是这样,我该如何写出只对我的应用程序可见的文件?

If so, how do I write out to files only visible to my application?

推荐答案

使用 NSUserDefaults : - 请注意,这是针对小数据的,比如你提到的当前水平。不要滥用它并将其用作大型数据库,因为每次打开应用程序时都会将其加载到内存中,无论您是否需要其他内容(应用程序的其他部分也将使用此内容)。

阅读:

NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];

NSString *currentLevelKey = @"currentlevel";

if ([preferences objectForKey:currentLevelKey] == nil)
{
    //  Doesn't exist.
}
else
{
    //  Get current level
    const NSInteger currentLevel = [preferences integerForKey:currentLevelKey];
}

写作:

NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];

NSString *currentLevelKey = @"currentlevel";

const NSInteger currentLevel = ...;
[preferences setInteger:currentLevel forKey:currentLevelKey];

//  Save to disk
const BOOL didSave = [preferences synchronize];

if (!didSave)
{
    //  Couldn't save (I've never seen this happen in real world testing)
}

阅读:

let preferences = NSUserDefaults.standardUserDefaults()

let currentLevelKey = "currentLevel"

if preferences.objectForKey(currentLevelKey) == nil {
    //  Doesn't exist
} else {
    let currentLevel = preferences.integerForKey(currentLevelKey)
}

写作:

let preferences = NSUserDefaults.standardUserDefaults()

let currentLevelKey = "currentLevel"

let currentLevel = ...
preferences.setInteger(currentLevel, forKey: currentLevelKey)

//  Save to disk
let didSave = preferences.synchronize()

if !didSave {
    //  Couldn't save (I've never seen this happen in real world testing)
}

这篇关于相当于ios中的共享首选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆