在我的应用程序中,我想存储应用程序首次启动的日期。我在应用程序中使用以下代码:didFinishLaunchingWithOptions方法NSDate*today=[NSDatedate];[[NSUserDefaultsstandardUserDefaults]registerDefaults:@{@"CONSCIENCE_START_DATE":today}];NSLog(@"%@",[[NSUserDefaultsstandardUserDefaults]objectForKey:@"CONSCIENCE_START_DATE"]);但是每次我启动应用程序时,它都会打印应用程序
NSUserDefaults1.NSUserDefaults是一个单例类,可以用于数据的永久保存,一般用于保存应用程序设置以及用户数据等轻量级数据,而且简单实用。2.NSUserDefaults系统在整个app生命周期中都是可用的,也就是说,无论用户关闭程序还是关机,在用户再次打开程序或开机后这些数据仍然存在。3.NSUserDefaults是单例,同时也是线程安全的4.NSUserDefaults存储的对象全是不可变的:NSDictionary,NSArray,NSString,NSNumber,NSDate,NSData.这一点非常关键,存储对象不对的话会导致程序崩溃.5.存入数据时,不会
有没有办法让我“遍历”我的iPhone应用程序中所有NSUserDefault的列表,并且只删除某些?例如,我想获取所有以某个单词开头的键名。像这样:[[NSUserDefaultsstandardUserDefaults]removeObjectForKey:@"Dog*"]; 最佳答案 可以翻看dictionaryRepresentation.这是一个使用NSPredicate的实现作为通用匹配器以获得更大的灵active。@interfaceNSUserDefaults(JRAdditions)-(void)removeObj
我正在创建一个Watch应用程序,以便在用户点击iPhone/主机应用程序中的表格View时在watch上显示一个值。我想收到有关共享UserDefault值更改的通知。它在WatchKit应用程序和iOS(主机)应用程序之间共享,因此当用户在主机应用程序中进行任何更改时,我希望收到通知。我做了以下事情:当用户在应用程序(主机应用程序)中执行某些操作时:NSUserDefaults*shared=[[NSUserDefaultsalloc]initWithSuiteName:@"group.app"];idobject=[self.plantsArrayobjectAtIndex:[
我正在尝试制作一个TodayExtension,在主应用程序中,favorite正在从ar和ar2中正确写入和读取>。favorite是类Book的属性。但是,当我尝试从TodayExtension访问所有Book对象的数组的favorite属性时,ar和ar2是空的。主要应用:varfavorite:Bool{get{letar=NSUserDefaults.standardUserDefaults().stringArrayForKey("favorites")??[]letar2=NSUserDefaults(suiteName:"group.com.TodayExtension
我正在构建一个应用程序,用户可以在其中创建UITableviewcell,这将导致用户可以编辑不同的UIViewController。我这样保存用户信息:level1Dictionary=[String:[String:String]]()如果用户命名为UITableViewCellDog,他们会转到viewController,然后我设置level1Dictionary[dog]=[String:String]()我现在将字典保存在NSUserdefaults中NSUserDefaults.StandardUserDefaults()setObject(level1Dictionar
我正在尝试将设备token保存到NSUserDefaults但我做不到。我的代码:funcapplication(application:UIApplication,didRegisterForRemoteNotificationsWithDeviceTokendeviceToken:NSData){varcurrentToken=preferences.stringForKey(pushTokenKey)ifcurrentToken!=deviceToken{vardataString=NSString(data:deviceToken,encoding:NSUTF8StringEn
我正在将我的一个项目从Objective-C转换为Swift,但我遇到了一个奇怪的障碍。考虑以下代码(在-applicationDidFinishLaunching中执行)...Objective-C请原谅凌乱的一行[[NSUserDefaultsstandardUserDefaults]registerDefaults:[NSDictionarydictionaryWithContentsOfFile:[[NSBundlemainBundle]pathForResource:@"Defaults"ofType:@"plist"]]];在我的Objective-C项目中,这按预期工作。
今天我想出了如何创建一个forin方法来获取不同的json值..但现在我不知道如何保存它以便在NSUserDefaults中可能有一个数组。这是我的代码的一部分:ifletvehicles=jsonData["vehicles"]as?NSDictionary{letvehiclesKeys=vehicles.allKeysforkeyinvehiclesKeys{letvehiclenodb=((jsonData["vehicles"]as!NSDictionary)["\(key)"]!as!NSDictionary)["vechicle_no"]!as!Stringletmode
我正在使用Swift并且有一个包含Int的Set类型:varsetA:Set如何使用NSUserDefaults保存/加载此Set类型? 最佳答案 将Set转换为Array可以保存在NSUserDefaults中letarrayA=Array(setA)NSUserDefaults.standardUserDefaults().setObject(arrayA,forKey:"mySet")并获取数组并将其转换回SetletarrayA=NSUserDefaults.standardUserDefaults().objectForK