Tag: nsuserdefaults

ios编程 – 格式string不使用的数据参数

当我运行下面的代码时,我得到了Data argument not used by format string错误Data argument not used by format string的Data argument not used by format string : – (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { NSString *colour = ([colourArray objectAtIndex:row]); NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:(colour) forKey:@"colour"]; NSLog(@"NSString =", colour); NSLog(@"NSUserDefaults =", [defaults objectForKey:@"colour"]); } 我得到两个NSLog行的错误。 另外,这里是日志说: 2011-10-25 09:01:50.260 Random[35636:b303] NSString = 2011-10-25 […]

应用程序更新时,使用NSUserDefaults存储的数据是否被删除?

目前我正在创build一个使用NSUserDefaults存储数据的应用程序。 所以,当我上传应用程序的v1到应用程序商店,然后为应用程序进行新的更新(v2) 是否存储在NSUsedDefaults中的数据,当用户更新到新版本?

NSMutableDictionary:将变异方法发送给不可变对象

下面的代码返回一个exception,当试图removeObjectForKey时,出现以下错误消息“mutating method sent to immutable object” NSMutableDictionary * storedIpDictionary = (NSMutableDictionary*)[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictDeviceIp"]; NSString *key = self.currentDeviceNameText.text; NSString *ipAddressTemp = [storedIpDictionary objectForKey:key]; [storedIpDictionary removeObjectForKey:key]; <—-Crashes here storedIpDictionary[key] = ipAddressTemp; 不知道是什么问题,也许是由于从NSUserDefaults检索字典。 但是下面的代码没有任何问题。 NSMutableDictionary * storedIpDictionary = (NSMutableDictionary*)[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"dictDeviceIp"]; [storedIpDictionary removeAllObjects];

如何将结构保存到Swift 2.0中的NSUserDefaults

我有一个名为Jar的结构,我想将它们的数组保存到NSUserDefaults。 这里是jar结构代码: struct Jar { let name: String let amount: Int init(name: String, amount: Int){ self.name = name self.amount = amount } } 我相信,我将需要将其转换为一个NSObject能够保存它。 (因为你不能直接保存一个结构到NSUserDefaults)。 我的问题是: 如何将结构数组转换为NSObject? 以及如何将NSObject转换回结构数组。

为什么NSUserDefaults无法保存NSMutableDictionary?

我试图用NSUserDefaults保存一个NSMutableDictionary 。 我阅读了很多关于这个主题的post…我也发现了一个选项,工作; 然而不幸的是,它只工作了一次,然后开始只保存(空)。 有人有提示吗? 谢谢 代码保存: [[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:dictionary] forKey:@"Key"]; [[NSUserDefaults standardUserDefaults] synchronize]; 加载代码: NSMutableDictionary *dictionary = [[NSMutableDictionary alloc]init]; NSData *data = [[NSUserDefaults standardUserDefaults]objectForKey:@"Key"]; dictionary = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 将对象添加到NSMutableDictionary代码: [dictionary setObject:[NSNumber numberWithInt:0] forKey:@"Key 1"]; [dictionary setObject:[NSNumber numberWithInt:1] forKey:@"Key 2"]; [dictionary setObject:[NSNumber numberWithInt:2] forKey:@"Key 3"]; 代码到NSLog()值: for (NSString * key in [dictionary allKeys]) { […]

Xcode iOS:检查用户是否login,如果不是,则显示不同的视图

我正在编写一个应用程序,login的用户有一些额外的function比非login用户。 基本上,我有或多或less的5个选项卡。 当我启动应用程序,用户立即得到login页面。 他可以决定跳过它。 如果他跳过,他只会有三个标签。 如果他成功login,将会有5个。 我已经有我的login页面。 我只是不知道如何才能存储会话,如果用户login正确,并且只显示一定数量的选项卡,如果用户不是。 我来自PHP,我刚刚开始学习Objective-C,所以我在PHP中寻找与$ _SESSION相同的东西,或多或less。 所以:如果用户login,存储会话,并显示所有的标签。 如果他没有,只显示有限数量的选项卡。 我应该如何处理这个?

在UITabBarController视图之间传递数据

我已经search了一整天在这个简单的例子,还没有find它。 我正在开发一个应用程序,我想在初始加载时进行一次API调用,并填充一些在任何标签视图中都可以访问的variables。 示例:我想进行一次API调用,以获取包含与警报选项卡相关的警报数据的数据。 我想在初始加载时使用这些数据来更新“警报”选项卡徽章。 不过,我也想在警报页面上使用这些信息,而不必再进行另一次API调用以获取相同的信息。 我读了很多不符合我要求的解释,所以我正在寻找一个很好的例子来帮助我。

为什么我不能将WKWebView保存到?

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:self.webView forKey:@"webView"]; 上面的代码是保存一个WKWebView对象,但我得到一个编译器错误: 2014-11-08 14:58:52.561恢复[2431:482391]属性列表格式无效:200(属性列表不能包含CFTypetypes的对象)2014-11-08 14:58:52.564恢复[2431:482391 ]试图设置一个非属性列表对象>作为关键的webView的NSUserDefaults / CFPreferences值2014-11-08 14:58:52.566恢复[2431:482391] *终止应用程序由于未捕获的exception“NSInvalidArgumentException”,原因: '尝试将非财产清单对象>重点webView的' *第一掷调用堆栈:(0x2c491c1f 0x39c78c8b 0x2c491b65 0x2c4cbe51 0x2c436599 0x2c4358d7 0x2c4cc0d1 0x2c4cb769 0x2c4ce95b 0x2c4ce875 0x2d0eab69 0x66bdf 0x2f981c2b 0x2f981bd1 0x2f96c863 0x2f98163d 0x2f981317 0x2f97abe1 0x2f9513dd 0x2fbc4c29 0x2f94fe39 0x2c458377 0x2c457787 0x2c455ded 0x2c3a4211 0x2c3a4023 0x3379d0a9 0x2f9b01d1 0x66ead 0x3a1f8aaf)libc ++ abi.dylib:以NSExceptiontypes的未捕获exception终止 我怎样才能保存WKWebView并恢复它的历史不变? 编辑: 8个月过去了,这个问题没有解决办法… 编辑2: 我正在做一个网页浏览器 […]

Swift – 如何设置NSUserDefaults的初始值

我有一个名为soundSwitch的开关,我使用默认的用户保存button的状态如下: @IBAction func soundsChanged(sender: AnyObject) { if soundSwitch.on{ defaults.setBool(true, forKey: "SoundActive") print("Sound ON") }else{ defaults.setBool(false, forKey: "SoundActive") print("Sound OFF") } } 目前,当用户首次启动应用程序时,实际的默认值最初为false。 如果用户第一次启动应用程序并且尚未configuration它,我如何实现默认值为true。 我已经看到Objective-C中的方法,但没有在Swift中。 从我所看到的,你可以在应用程序委托中做一些如何操作,或者在一个plist文件中。 我怎么做那两个呢?

如何将整数值保存到NSuserDefault像sqlite?

我想在NSUserDefault中保存和检索值。 我正在保存和检索价值成功。 但是当我去cak主页,并再次进来我的课价值不存储和所有的过程再次完成。 它不记得旧的价值。 我正在这样做 – -(void)ViewDidLoad{ A = 0; // int A; defone in .h [self calling_Once]; } -(void)calling_Once{ NSLog(@"A is: %d",A); // A is always zero when I leave this class and return Back to this class. This is my only problem. I want A=1; when I go back And return to this […]