Questions tagged «nsuserdefaults»

NSUserDefaults是Objective-C API,用于在Apple的针对Cocoa和Cocoa Touch的Foundation框架中存储和检索用户首选项。它在OS X v10.0和更高版本中可用,而在iOS 2.0和更高版本中可用,这是从NSObject根类继承的


14
iOS:如何在应用程序中存储用户名/密码?
我的iOS应用程序中有一个登录屏幕。用户名和密码将保存在中,NSUserDefaults并在您再次进入应用程序时再次加载到登录屏幕中(当然,这NSUserDefaults是永久性的)。 现在,用户可以禁用用户名/密码保存功能。 因此,NSUserDefaults将清除。 但是在我的应用程序中,我需要此用户名/密码来进行用户的数据库查询。因此:除了在哪里存储数据NSUserDefaults?(当用户退出应用或退出时,可以/应该删除此地点)。

7
如何在NSUserDefaults中存储自定义对象
好吧,所以我一直在闲逛,我意识到我的问题,但是我不知道如何解决。我做了一个自定义类来保存一些数据。我为此类制作对象,并且需要它们在会话之间持续。在我将所有信息放入之前NSUserDefaults,这是行不通的。 -[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '<Player: 0x3b0cc90>' of class 'Player'. 这是我将自定义类“ Player”放入时收到的错误消息NSUserDefaults。现在,我已经读过,显然NSUserDefaults只存储了某些类型的信息。那么我如何把我的东西放进NSUSerDefaults去呢? 我读到应该有一种方法来“编码”我的自定义对象,然后将其放入,但是我不确定如何实现它,将不胜感激!谢谢! ****编辑**** 好的,所以我使用下面给出的代码(谢谢!),但是我仍然遇到一些问题。基本上,代码现在崩溃了,我不确定为什么,因为它不会给出任何错误。也许我缺少一些基本知识,但我太累了,但是我们会看到的。这是我的Custom类“ Player”的实现: @interface Player : NSObject { NSString *name; NSNumber *life; //Log of player's life } //Getting functions, return the info - (NSString *)name; - (int)life; - (id)init; //These are the setters - …



11
NSUserDefaults-如何判断密钥是否存在
我正在开发一个小型iPhone应用程序,并且将其NSUserDefaults用作数据持久性。它只需要跟踪一些事情,例如一些名称和数字,所以我想我也可以保持简单。 我找到此页面仅供参考,但我认为它不能回答我的问题。基本上,我希望能够检查中是否已存在值(或键)NSUserDefaults,然后进行相应的操作。 一些示例:该应用程序启动,如果这是它第一次启动,它将输出一条警告消息,表示欢迎。要知道这是第一次打开它,它会读取UserDefaults和检查。 示例2:它显示“ Hello [Name]”,其中Name是您输入的内容。如果您已打开该应用程序且没有名称,则应显示“ Hello World”。我需要检查您是否已经输入名称并采取相应措施。该名称将存储在中NSUserDefaults。 这里有帮助吗?我真的很感激!

11
尝试将非属性列表对象设置为NSUserDefaults
我以为我知道导致此错误的原因,但是我似乎无法弄清楚自己做错了什么。 这是我收到的完整错误消息: 尝试设置非属性列表对象( “ <BC_Person:0x8f3c140>” )作为keyUserDataArray的NSUserDefaults值 我有一个Person我认为符合该NSCoding协议的类,在我的person类中同时拥有这两种方法: - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:self.personsName forKey:@"BCPersonsName"]; [coder encodeObject:self.personsBills forKey:@"BCPersonsBillsArray"]; } - (id)initWithCoder:(NSCoder *)coder { self = [super init]; if (self) { self.personsName = [coder decodeObjectForKey:@"BCPersonsName"]; self.personsBills = [coder decodeObjectForKey:@"BCPersonsBillsArray"]; } return self; } 在应用中的某一时刻,NSString在BC_PersonClass设置,我有一个DataSave一流的,我认为是在处理我的编码性能BC_PersonClass。这是我在DataSave该类中使用的代码: - (void)savePersonArrayData:(BC_Person *)personObject { // NSLog(@"name of the …

1
在NSUserDefaults中存储NSDate的最佳方法是什么?
我遇到过两种方法将NSDate存储在NSUserDefaults中。 选项1-setObject:forKey: // Set NSDate *myDate = [NSDate date]; [[NSUserDefaults standardUserDefaults] setObject:myDate forKey:@"myDateKey"]; // Get NSDate *myDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey:@"myDateKey"]; 选项2-timeIntervalSince1970 // Set NSDate *myDate = [NSDate date]; NSTimeInterval myDateTimeInterval = [myDate timeIntervalSince1970]; [[NSUserDefaults standardUserDefaults] setFloat:myDateTimeInterval forKey:@"myDateKey"]; // Get NSTimeInterval myDateTimeInterval = [[NSUserDefaults standardUserDefaults] floatForKey:@"myDateKey"]; NSDate *myDate = …

10
如何在Swift应用程序中保存本地数据?
我目前正在使用Swift开发的iOS应用程序,需要在设备上存储一些用户创建的内容,但似乎找不到一种简单快捷的方法来在设备上存储/接收用户内容。 有人可以解释如何存储和访问本地存储吗? 想法是在用户执行操作时存储数据,并在应用程序启动时接收数据。






7
在模拟器上卸载应用程序后未清除NSUserDefaults
这听起来真的很新!我想检查是否是用户第二次进入我的应用程序,以便保持我正在使用的运行次数NSUserDefaults。我在rootViewController的viewDidLoad方法中实现了以下代码: NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSLog(@"hello %ld", (long)[userDefaults integerForKey:@"runCount"]); if ([userDefaults integerForKey:@"runCount"] != 1) { //not the 2nd run [userDefaults setInteger:1 forKey:@"runCount"]; NSLog(@"not 2nd run"); } else { //second run or more NSLog(@"2nd run"); } [userDefaults synchronize]; 一切正常,但问题是,当我根据此处和此处的内容卸载(删除并重新安装)应用程序时,应清除数据,但并非如此,并且在重新安装应用程序后仍显示以前的数据。我正在使用xCode6-beta在iOS模拟器上运行我的应用,并在iOS 8上定位该应用

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.