Tag: nsuserdefaults

如何将数组保存到UserDefaults,然后检索该数组并打印

这是我的代码。 这似乎是一个错误。 任何人都可以请帮忙。 class PopUpVC: UIViewController { var myArray1 = ["1","2","3"] var myArray2 = [String]() UserDefaults.standard.set(myArray1, forKey: "array") override func viewDidLoad() { super.viewDidLoad() self.myArray2 = (UserDefaults.standard.string(forKey: "array") as? [String])! print(self.myArray) }

NSUserDefault更新公式

有一个问题,我怎么能通过NSUserDefault更新我的公式。 所以我有两个文本字段需要保持我的公式uptodate。 所以用户input数字(值),然后该数字需要去我的公式,但公式只显示距离值:)。

我在NSUserDefaults结构NSMutableArray错了吗? “尝试插入非属性列表对象”

我很简单地试图保存在NSUserDefaults的struct s的NSMutableArray / NSArray : typedef struct { int key; } provision; provision p1; p1.key = 4; NSValue *p1Value = [NSValue value:&p1 withObjCType:@encode(provision)]; provision p2; p2.key = 5; NSValue *p2Value = [NSValue value:&p2 withObjCType:@encode(provision)]; NSMutableArray *provisions = [[NSMutableArray alloc] init]; [provisions addObject:p1Value]; [provisions addObject:p2Value]; [[NSUserDefaults standardUserDefaults] setObject:provisions forKey:@"Provisions"]; 我按照这里的指南 ,把所有的结构存储为NSValue 。 但是最后一行会导致运行时错误: *由于未捕获的exception'NSInvalidArgumentException',原因:'* – [NSUserDefaults […]

如何重新安装应用程序而不会丢失NSUserDefaults?

我有一个iOS游戏,使用NSUserDefaults保存游戏进度。 在最后一次更新之后,用户遇到了问题,该应用程序不再适用于该设备。 该应用程序没有任何问题,但由于某种原因,下载应用程序时发生错误,不太清楚发生了什么事。 关键是,该应用程序必须删除并重新安装。 这可以做到不擦除NSUserDefaults? 在删除应用程序后,我尝试在iTunes中同步,甚至通过iTunes重新安装,但无法恢复之前保存在我的testing设备上的游戏。 我想重新安装应用程序的唯一方法是通过应用程序更新。 当它出来时,他会更新,不会丢失任何数据。 它是否正确? 或者有没有其他方法可以做到这一点? 我正在努力在下一次更新中实现云同步,所以这个问题不应该再次成为问题:)。 但现在,有什么和我做这个用户?

NSMutableArray NSData转换使用NSUserDefaults

如下所示的代码,它不会让我回到我的可变数组。 我在我的可变数组中有3个注释,但是一旦我closures我的应用程序并再次打开它,就会显示我0个对象。 我不知道为什么我正在获取O对象,而我回来我的arrays! 任何想法? -(void)viewDidLoad { NSUserDefaults *ud=[NSUserDefaults standardUserDefaults]; if([ud boolForKey:@"save-exist"]) { NSMutableArray *udAnnotations=[[NSMutableArray alloc]initWithArray: [ud objectForKey:@"annotationsArray"]]; NSLog(@"%d",[udAnnotations count]); } else { [self addAnno]; } } -(void)addAnno { [mapView addAnnotations:annotationArray]; NSUserDefaults *ud=[NSUserDefaults standardUserDefaults]; [ud setObject:annotationArray forKey:@"annotationsArray"]; [ud setBool:YES forKey:@"save-exist"]; [ud synchronize]; }

在UIPickerView中使用来自NSUserDefaults的数据 – pickerView保持为空

我试图设置NSUserDefaults昨晚,但一直在发生错误: ViewController3: 保存数据 @IBAction func tappedAddButton(sender: AnyObject) { var userDefaults:NSUserDefaults = NSUserDefaults.standardUserDefaults() var exercisesList:NSMutableArray? = userDefaults.objectForKey("exercisesList") as? NSMutableArray var dataSet:NSMutableDictionary = NSMutableDictionary() dataSet.setObject(textField.text, forKey: "exercises") if ((exercisesList) != nil){ var newMutableList:NSMutableArray = NSMutableArray(); for dict:AnyObject in exercisesList!{ newMutableList.addObject(dict as NSDictionary) } userDefaults.removeObjectForKey("exercisesList") newMutableList.addObject(dataSet) userDefaults.setObject(newMutableList, forKey: "exercisesList") }else{ userDefaults.removeObjectForKey("exercisesList") exercisesList = NSMutableArray() exercisesList!.addObject(dataSet) userDefaults.setObject(exercisesList, forKey: "exercisesList") […]

如何在ViewDidLoad中从NSUserDefaults中得到一个无值的值

我有一个情况,当我viewControler启动viewDidLoad我不得不加载一些数据使用NSUserDefaults.standardUserDefaults()这不存在于这个分量。 当我点击send Button在相同的viewController时,我保存这些数据,当我再次打开这个viewController时,我需要这个数据。 现在看起来像这样: var orderHistory = [String:String]() vievDidLoad(){ let userDefault = NSUserDefaults.standardUserDefaults() let orderHistory = userDefault.objectForKey("orderHistory") if orderHistory == nil { self.orderHistory = orderHistory["name":"", "surname":""] as! [String:String] } else { self.orderHistory = orderHistory as! [String:String] { }// end viewDidLoad 在这一刻我收到一个信息,我有一个记忆问题。 我应该如何避免这种情况?

NSUserDefaults intitial设置

我在NSUserDefaults保存了一些用户设置。 如果这些设置没有被用户修改,我希望应用程序使用预设。 我应该如何设置,以便应用程序首先检查设置是否已被修改,如果没有,设置预设? 检查是否[[NSUserDefaults standardDefaults]objectForKey: @"setting1"] == nil ? 然后设置一个预设,如果不是?

NSUserDefaults不会一致加载数据

我有一个基于选项卡的应用程序,并希望每次在标签之间切换时重新加载数据 。 所以我用viewWillAppear:被调用,但数据不会重新加载。 这可能是使用了很多[NSUserDefault]的结果吗? 这是我的代码: -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self reloadData]; } -(void)reloadData { //Loading all the data totalApples = [[NSUserDefaults standardUserDefaults]integerForKey:@"totalApples"]; [self setText:[NSString stringWithFormat:@"%.01f", totalApples] withExistingAttributesInLabel:self.applesLabel]; applesPerSecond = [[NSUserDefaults standardUserDefaults]integerForKey:@"applesPerSecond"]; [self setText:[NSString stringWithFormat:@"%.01f", applesPerSecond] withExistingAttributesInLabel:self.applesPerSecondLabel]; applesPerClick = [[NSUserDefaults standardUserDefaults]integerForKey:@"applesPerClick"]; }

在iOS 8和iOS 8下的NSUserDefaults

我知道NSUserDefaults将数据保存在应用程序中,因此在iOS 8下删除应用程序后数据将被清除,但在iOS 8中删除应用程序后数据仍然存在。 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 下面的代码适用于iOS 8(删除应用程序后数据被清除) NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.AppCompany.Appname"]; 这个代码在iOS 8下工作吗?