Tag: nsuserdefaults

在NSUserDefaults中存储值(来自JSON序列化)会导致不需要的exception

我有一个应用程序,我使用基于JSON的API。 作为JSON的一部分,常常将值设置为“null”。 这可能是常见的: {"data":["one","two","three"],"name":null,otherstuff:10} 最近我试图在NSUserDefaults中存储一个从JSON对象转换来的misc NSDictionary层次结构。 不幸的是,如果有空数据,在IOS中将其转换为[NSNull null],则会导致exception。 显然,不能保存在首选项。 我想知道有没有人曾经解决这个问题? 我试图添加一些逻辑来首先从JSON中删除所有的空值,但成功有限,但是在存储数据之前修改数据似乎不合适。 有没有更好的方法来处理这个问题?

如何在NSUserDefaults中使用存储和使用NSMutableAttributedString

我想创build一个属性string,然后将其存储在NSUserDefaults ,然后再次访问它并将属性string分配给NSUserDefaults 。 我如何去做这件事? 提前致谢。 我不知道很多目标c,所以我不能提及这个答案

iOS 8,9上的NSUserDefaults有多安全?

应用内购买编程指南build议您可以在这里坚持在NSUserDefaults的应用内购买。 然而,我发现这篇文章说这是不安全的,它的数据很容易被访问和修改: NSUserDefaults以二进制格式存储在plist中,不encryption,存储在你的应用程序目录中。 这意味着任何用户,即使是“最高级的”用户,都可以用5分钟的时间修补NSUserDefaults。 如果这是真的,用户可以很容易地获得免费的任何东西提供作为应用程序内购买,持续使用NSUserDefaults 。 该文章仍然是正确的iOS 8,9? 如果是的话,你如何坚持你的应用内购买? 我喜欢一些简单的解决scheme 我不(也不想)validation收据等

如何保存数组中的自定义对象,并将其存储在NSUserDefaults – iPhone中

button操作方法后,我得到我的自定义类对象。 现在我需要在NSMutableArray存储多个自定义对象,然后将这个数组存储在NSUserDefaults 。 这是我的代码: -(IBAction)onClickSubmitLater:(id)sender { //Saving store in user defaults for later upload data. NSMutableArray *arrayStoreList = [[NSMutableArray alloc] init]; arrayStoreList = [Util getArrayPreference:@"Store"];//arrayStoreList is the list of all stores. Store *store = [[Store alloc] init]; store = [arrayStoreList objectAtIndex:self.selectedStoreIndex];//here i am getting particular store that i need to save in array. //archive NSData […]

NSUserDefaultsDidChangeNotification和Today Extensions

我正在开发一个带有Today Extension的iPhone应用程序。 该应用程序有一个模型模块,从/加载到NSUserDefaults。 由于我希望这个信息可以被主应用程序和扩展使用,我使用一个应用程序组: let storage = NSUserDefaults(suiteName: "group.etc.etc.etc…") 应用程序和扩展程序都可以访问信息,没有任何问题。 主应用程序偶尔会创build一个本地通知来呈现给用户。 该通知有两个与之相关的操作(UIUserNotificationAction)。 其中一个动作触发主应用程序的背景上运行一些代码。 该代码更改NSUserDefaults信息并触发同步。 我的代码是这样的: func application(application: UIApplication, handleActionWithIdentifier id: String?, forLocalNotification not: UILocalNotification, completionHandler: () -> ()) { // Interact with model here // New information gets saved to NSUserDefaults userDefaultsStorage.synchronize() completionHandler() } 现在,在今天分机。 我自然地观察到对NSUserDefaults上的信息所做的任何更改,以便我可以重新加载小部件上的接口: override func viewDidLoad() { super.viewDidLoad() // … NSNotificationCenter.defaultCenter().addObserverForName(NSUserDefaultsDidChangeNotification, object: […]

如何在swift中使用UserDefaults?

要保存/检索string,使用Swift编程语言中iOS的userDefaults概念的布尔值和整数。

NSUserDefaults在iOS 8中不可靠

我有一个应用程序使用[NSUserDefaults standardUserDefaults]来存储会话信息。 通常,这些信息在应用程序启动时进行检查,并在应用程序退出时更新。 我发现它似乎在iOS 8中不可靠的工作。 我目前正在iPad 2上进行testing,但如果需要的话,我可以在其他设备上进行testing。 有些时候,在退出之前写入的数据不会在应用程序启动时持续存在。 同样,在退出之前移除的键在启动后有时似乎存在。 我已经写了下面的例子,试图说明这个问题: – (void)viewDidLoad { [super viewDidLoad]; NSData *_dataArchive = [[NSUserDefaults standardUserDefaults] objectForKey:@"Session"]; NSLog(@"Value at launch – %@", _dataArchive); NSString *testString = @"TESTSTRING"; [[NSUserDefaults standardUserDefaults] setObject:testString forKey:@"Session"]; [[NSUserDefaults standardUserDefaults] synchronize]; _dataArchive = [[NSUserDefaults standardUserDefaults] objectForKey:@"Session"]; NSLog(@"Value after adding data – %@", _dataArchive); [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Session"]; [[NSUserDefaults standardUserDefaults] […]

如何存储用户数据的iOS

我需要存储用户可以添加的数据,他们可以添加无限量的数据。 它们可以是NSStrings或UIImage 。 我已经看了NSUserDefaults,但它似乎用于less量的数据,如设置或偏好。 什么是最好/最安全的方式来存储用户信息,以便当他们closures应用程序,它仍然在应用程序。 数据填充一个UITableView并且是一个NSMutableArray 。 最好的办法是做到这一点?

SpriteKit:为什么要等一分钟才能更新分数? (迅速)

在一个场景中,我有这样的代码: let defaults = NSUserDefaults.standardUserDefaults() defaults.setInteger(score, forKey: "scoreKey") defaults.synchronize() 当用户与间隙接触时,代码运行: score++ 如果用户遇到障碍,GameOverScene将接pipe。 以下是我为GameOverScene将分数移至场景的代码: let defaults = NSUserDefaults.standardUserDefaults() let score = defaults.integerForKey("scoreKey") scoreLabel.text = "\(score)" 但是,在我的代码中,scoreLabel没有更新文本。 例如,让我们说一个用户得分1并死亡。 当他去世的时候,gameOverScene会出现,并说分数是1.然后,让用户点击重新启动,然后得分5,然后死亡。 在GameOverScene中,scoreLabel会说1。 请帮帮我!

使用NSUserDefaults保存并加载Swift中的高分

我在尝试比较我的分数和高分时,看到哪一个更大,然后保存,遇到一些问题。 我认为问题在于高分和比分的比较和节省。 帮助将不胜感激! //Comparison between score and highscore if score > highscore { let defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults() highscore = defaults.valueForKey("highscore")?.integerValue ?? 0 defaults.setInteger(score, forKey: "highscore") defaults.synchronize() highscoreString = String(highscore) highscoreLabel.text = highscoreString } 全页代码 – https://github.com/SRL311/Highscore/blob/master/Highscore (对不起,关于令人困惑的首都和小型病房)