//保存数据
- (IBAction)save:(id)sender
{
// Hide the keyboard
[firstNameTextField resignFirstResponder];
[lastNameTextField resignFirstResponder];
[ageTextField resignFirstResponder];
// Create strings and integer to store the text info
NSString *firstName = [firstNameTextField text];
NSString *lastName = [lastNameTextField text];
int age = [[ageTextField text] integerValue];
// Create instances of NSData
UIImage *contactImage = contactImageView.image;
NSData *imageData = UIImageJPEGRepresentation(contactImage, 100);
// Store the data
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:firstName forKey:@"firstName"];
[defaults setObject:lastName forKey:@"lastname"];
[defaults setInteger:age forKey:@"age"];
[defaults setObject:imageData forKey:@"image"];
[defaults synchronize];
NSLog(@"Data saved");
}
//读取数据
- (void)viewDidLoad
{
// Get the stored data before the view loads
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *firstName = [defaults objectForKey:@"firstName"];
NSString *lastName = [defaults objectForKey:@"lastname"];
int age = [defaults integerForKey:@"age"];
NSString *ageString = [NSString stringWithFormat:@"%i",age];
NSData *imageData = [defaults dataForKey:@"image"];
UIImage *contactImage = [UIImage imageWithData:imageData];
// Update the UI elements with the saved data
firstNameTextField.text = firstName;
lastNameTextField.text = lastName;
ageTextField.text = ageString;
contactImageView.image = contactImage;
[super viewDidLoad];
}
分享到:
相关推荐
以下是使用`NSUserDefaults`存取自定义对象的基本步骤: 1. **归档自定义对象**: - 首先确保自定义对象遵循`NSCoding`协议。 - 实现`encodeWithCoder:`方法,将对象的属性逐个编码到编码器中。 - 使用`...
`NSUserDefaults`类主要用于存储应用程序的默认设置或用户偏好数据,这些数据通常是键值对的形式。这些设置通常包括用户界面的偏好(如字体大小、颜色主题)、应用行为设置(如是否开启推送通知)等。`...
使用系统的NSUserDefaults进行存取值实在是难以对其进行统一管理,为此NSUserDefaultsModel就很好的解决了这一难题,并且还支持Cocoapods。 github地址:https://github.com/liuchongfaye/NSUserDefaultsModel ...
`NSUserDefaults` 提供了一个简单的接口来存取应用程序的默认设置或临时数据。这些数据通常是键值对的形式,可以是基本的数据类型如字符串、整数、浮点数、数组、字典等。由于其存储的数据是非结构化的,所以不适合...
在“实验 2 - 移动端数据存取1”中,主要涉及了移动端应用程序如何存储和访问数据,特别是利用不同的技术栈。本实验涵盖了以下几个关键知识点: 1. **Neo4j**: Neo4j 是一个图形数据库系统,用于存储和查询高度结构...
除了基本的存取操作,`NSUserDefaults`还提供了其他一些方便的功能,比如清除所有数据: ```swift standardUserDefaults.removePersistentDomain(forName: Bundle.main.bundleIdentifier!) ``` 此代码会清除与当前...
XBUserDefaultsXBUserDefaults是利用Objective-C RunTime 机制对NSUserDefaults进行一层封装。...实现思路数据存取将@property属性设置为@dynamic,然后利用消息机制在 +(BOOL)resolveInstanceMethod:(SEL)sel方法中
下面我们将详细探讨`NSUserDefaults`的工作原理、如何存取自定义对象以及需要注意的关键点。 `NSUserDefaults` 是苹果提供的一个轻量级持久化存储机制,通常用于存储用户设置和简单的数据。它不适用于大量数据的...
这些资源通常会演示如何创建和管理数据模型,如何实现编码和解码协议,以及如何使用系统的单例来存取数据。通过学习和实践,开发者可以掌握如何在iOS应用中有效地实现数据持久化,提高用户体验并优化应用程序的性能...
源码中可能会看到如何使用NSUserDefaults进行数据存取。 5. **File System**:直接操作文件系统,适合存储大文件或二进制数据,如图片、音频等。源码中可能涉及文件的创建、读取、删除和流操作。 6. **CloudKit**...
它不是设计用来存储大量数据或结构化数据的,而是为了解决快速存取小规模配置数据的需求。 以下是一些使用`NSUserDefaults`的基本步骤: 1. **初始化**: 在代码中,你可以通过以下方式获取到`NSUserDefaults`的...
- 使用方法:通过`FMDB`等库与SQLite交互,执行SQL语句来存取数据。 - 注意:需要了解SQL语法,对数据库操作有一定要求。 5. **CoreData**: - CoreData是Apple提供的对象图形管理框架,用于处理对象模型和...
开发者可以通过Keychain Services API来存取这些数据。例如,当用户在应用中登录并输入密码时,这些信息可以被安全地存储在Keychain中,而不是明文保存在应用沙盒内。Keychain还支持多应用共享数据,允许授权的其他...
`NSUserDefaults`是iOS提供的一种轻量级的数据存储方式,适用于存储小量数据如用户偏好设置、简单的配置选项等。它使用属性列表(Property Lists)作为底层存储格式,支持数组、字典、字符串、数字、日期和原始数据...
《UserDefaults:Swift与Objective-C中的NSUserDefaults包装器》 在iOS应用开发中,用户默认值(UserDefaults)是一个常用的数据...了解其核心概念和最佳实践,可以帮助开发者更高效地在应用中实现用户数据的存取。
`NSUserDefaults` 是一个简单且常用的数据存储类,虽然它主要用于轻量级的数据持久化,如用户偏好设置,但也可以用于存储像图片这样二进制数据的序列化版本。下面我们将详细探讨如何利用`NSUserDefaults` 实现图片的...
这些设置可以通过`NSUserDefaults`类来存取,它提供了一种简单的方法来存储和检索简单的键值对数据。 6. **普通文件存储** 除了以上方式,还可以直接将数据写入普通的文本文件或二进制文件,例如JSON、XML等格式。...
iOS开发数据库篇—SQLite简单介绍 一、离线缓存 在项目开发中,通常都需要对...(1)数据的存取都必须是完整的,要求写入的时候要一次性写入,读取的时候要一次性全部读取,这涉及到应用的性能问题。 (2)如果有100
通过`NSUserDefaults standardUserDefaults`获取默认的偏好设置对象,然后使用`setObject:forKey:`和`objectForKey:`方法进行数据的存取。 3. **删除库存操作**: - 当用户在界面中选择删除某个股票时,应用需要从...
使用`NSUserDefaults`,你可以方便地通过键值对的方式来存取数据,如: ```swift // 保存偏好设置 let defaults = UserDefaults.standard defaults.set("John Doe", forKey: "userName") defaults.set(25, forKey: ...