iOS下可以使用NSUserDefaults、sqlite、CoreData几种常用的方式来存储数据,其中NSUserDefaults用来存储类似用户的配置等这些的数据,后两者用户存储大批量和比较复杂的数据。NSUserDefault的使用比较简单:
- NSUserDefaults *mySettingData = [NSUserDefaults standardUserDefaults];
创建NSUserDefaults对象之后即可往里面添加数据,它支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型,如果要存放自定义的对象(如自定义的类对象),则必须将其转换成NSData存储:
- NSArray *arr = [[NSArray alloc] initWithObjects:@"arr1", @"arr2", nil]
- [mySettingData setObject:arr forKey:@"arrItem"];
- [mySettingData setObject:@"admin" forKey:@"user_name"];
- [mySettingData setBOOL:@YES forKey:@"auto_login"];
- [mySettingData setInteger:1 forKey:@"count"];
往NSUserDefaults添加数据后,它们就变成了全局的变量,App中即可读写NSUserDefault中的数据:
- NSUserDefaults *mySettingDataR = [NSUserDefaults standardUserDefaults];
- NSLog(@"arrItem=%@", [mySettingDataR objectForKey:@"arrItem"]);
- NSLog(@"user_name=%@", [mySettingDataR objectForKey:@"user_name"]);
- NSLog(@"count=%d", [mySettingDataR integerForKey:@"count"]);
如果想删除某个数据项,可以使用removeObjectForKey删除数据:
- [mySettingData removeObjectForKey:@"arrItem"];
需要注意的是,NSUserDefaults是定时把缓存中的数据写入磁盘的,而不是即时写入,为了防止在写完NSUserDefaults后程序退出导致的数据丢失,可以在写入数据后使用synchronize强制立即将数据写入磁盘:
- [mySettingData synchronize];
运行上面的语句后,NSUserDefaults中的数据即被写入到.plist文件中,如果是在模拟器上运行程序,可以在Mac的/Users /YOUR-USERNAME/Library/Application Support/iPhone Simulator/4.1/Applications/YOUR-APP-DIR/Library/Prefereces目录下面找到一个文件名为 YOUR-Bundle_Identifier.plist的plist文件,用Xcode打开该文件,可以看到刚才写入的数据。
相关推荐
NSUserDefaults是iOS平台上的一种轻量级的数据持久化方法,主要用于存储用户偏好设置或者应用程序的状态数据。在Objective-C中,它是苹果提供的Foundation框架的一部分,为开发者提供了一种简单的方式来读写小型数据...
在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储用户偏好设置和轻量级数据。这个源码Demo主要展示了如何使用`NSUserDefaults`来读取和写入自定义对象,这对于理解和实践iOS应用的本地数据...
Swift中的`NSUserDefaults`是苹果iOS、macOS等操作系统中用于存储轻量级用户偏好设置的主要方式。它提供了一个简单易用的接口,让开发者能够快速读取和写入用户的个性化设置,而无需复杂的数据库操作。在本文中,...
在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储并检索轻量级的用户偏好设置或应用状态数据。本教程针对初学者,将深入探讨`NSUserDefaults`的基本用法,包括如何设置、读取值以及如何持久化...
在iOS应用开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储用户偏好设置或者轻量级的数据。这个压缩包"IOS应用源码——NSUserdefaults(读取和写入自定义对象).zip"包含了一个示例项目,展示了...
NSUserDefaults是iOS开发中一个非常重要的类,用于存储用户的基本偏好设置和轻量级的数据。它提供了简单的方法来读取和写入数据,这些数据在应用的生命周期内保持持久化,并在用户下次打开应用时仍然可用。这个教程...
使用系统的NSUserDefaults进行存取值实在是难以对其进行统一管理,为此NSUserDefaultsModel就很好的解决了这一难题,并且还支持Cocoapods。 github地址:https://github.com/liuchongfaye/NSUserDefaultsModel ...
PAPreferences, 使用 @dynamic 访问 NSUserDefaults PAPreferences使用NSUserDefaults存储用户首选项的简便方法。PAPreferences将 dynamic 属性映射到 NSUserDefaults getter和 setter,以便访问默认值,就像它们是...
在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它被用来存储用户偏好设置和轻量级的数据。在"weatherproject_for_NSUserDefaults"这个项目中,我们深入学习了如何利用`NSUserDefaults`来管理天气预报应用中...
其中,NSUserDefaults是苹果提供的一种轻量级的数据持久化方式,主要用于存储少量的基本数据类型,如字符串、整数、浮点数、二进制数据等。这个教程我们将深入探讨iOS中的数据持久化,特别是如何使用NSUserDefaults...
在iOS开发中,`NSUserDefaults` 是一个非常常用的数据持久化工具,它主要用于存储用户的一些偏好设置或者轻量级的数据。当需要在应用的不同会话之间持久化数据,比如用户的登录状态、账号或密码等信息时,`...
`NSUserDefaults`(用户默认值)是苹果提供的一种轻量级的数据存储解决方案,它允许开发者以键值对的形式保存简单类型的数据,如字符串、整数、布尔值、数组和字典等。这个压缩包"NSUserDefaults-记住密码.zip"包含...
在iOS应用开发中,`NSUserDefaults` 是一个非常重要的组件,它用于存储用户偏好设置或者轻量级的数据。本源码示例主要讲解如何利用`NSUserDefaults`在iOS应用中进行自定义对象的读取与写入操作。下面将详细阐述`...
在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它被用来存储用户的基本偏好设置或轻量级数据。这个压缩包文件"NSUserdefaults读取和写入自定义对象.rar"显然关注的是如何利用`NSUserDefaults`来处理自定义...
NSUserDefaults + SevenSecurityLayers.h(已过时,不再维护) 为NSUserDefaults提供加密层以安全保存数据的类别。 使用强大的AES 356位加密####效益:*仅用一行代码保护用户数据。*支持混淆二进制源中的密钥*...
本案例主要探讨两种常见的数据持久化方法:沙盒中的文件系统、Core Data以及NSUserDefaults。我们将深入理解这三种方式的工作原理,以及在实际应用中如何选择和使用它们。 首先,"沙盒"是iOS应用的专属运行环境,每...
在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储和检索轻量级的用户偏好和应用设置。本实例将深入探讨如何在iPhone应用程序中使用`NSUserDefaults`,以及如何结合`Settings Bundle`来提供...
在Swift编程语言中,`NSUserDefaults`是一个非常重要的类,它用于存储用户偏好设置或轻量级数据,这些数据在应用程序的整个生命周期内都能被持久化。然而,原生的`NSUserDefaults` API有时可能会显得较为繁琐,尤其...
NSUserDefaults是iOS和macOS开发中的一个关键组件,用于存储应用程序的轻量级用户偏好和设置。这个"NSUserDefaults Demo iphone"示例旨在展示如何在iPhone应用中有效地使用这一功能。 NSUserDefaults通常用于保存...