【通讯录案例-归档解档 Objective-C语言】

一、接下来,我们来说这个“归档”、“解档”、

1.归档、解档、这一块儿呢

首先呢,我们这个目标啊,还是跟“代理”差不多,要会用,

一会儿给大家画一幅图,让大家去了解“归档”、“解档”、每一句话,到底都干了什么,

好,我们先新建一个项目,

通知

新建一个项目

通知

新建一个项目,这个项目的名字,Name:来一个”06-归档解档“

通知

1)归档:实际上,就是存“自定义对象”

2)解档:实际上,就是取“自定义对象”

一个叫“归档”、一个叫“解档”、

通知

然后呢,Create一下,

通知

在这个里边儿呢,还是拖两个按钮,

通知

一个“save“、一个”read“、拖两个按钮、把Title改一下,

通知

然后呢,来连线,

通知

“save”按钮的点击事件,叫做:save

通知

“read”按钮的点击事件,叫做:read

通知

写两个注释:// 存数据 // 取数据

通知

然后呢,回到我们的ViewController.m文件里面,

通知

2.然后在这个里面儿啊,我们来“存数据”、“取数据”

首先,“归档”、“解档”、呢,是专门儿用来做“自定义对象”的存储的

自定义的一个类型,

也就是说“模型”啊,

然后呢,在这个里边儿,我们先新建一个模型出来,

然后呢,去保存一下它,

首先呢,我们来New一个File,

通知

New一个File,

通知

左边:iOS-Source-右边选择Cocoa Touch Class

通知

继承自:NSObject,

通知

然后呢,Name:Teacher

通知

Teacher类,

通知

然后,这个里边儿,

通知

然后呢,这里边儿,来两个属性,

通知

1)第一个属性:来一个copy的,

通知

@property(nonatomic,copy)NSString *name;

通知

name:来一个name,

通知

2)第二个属性:来一个assign的,

通知

@property(nonatomic,assign)int age;

通知

好,然后呢,现在我有两个属性了,

这个模型里边儿,有两个属性,

一个叫name,一个叫age,

一个是String类型的,一个是int类型的,

然后呢,接下来,我们回到ViewController.m里面,

通知

3.在我们的这个save方法里边,我们要创建自定义对象

// 创建自定义对象

通知

导入一下头文件,

通知

Teacher *t = [[Teacher alloc] init];

通知

t.name = @“德玛西亚”;

通知

t.age = 18;

通知

我们这个对象有了,我们要去保存它,

3.首先,“归档”、“解档”、这个里边儿,也有一个关键的类,

NSKeyedArchiver

通知

有这么一个类,

通知

写一个注释,// 归档

这个类里边儿,有一个类方法,叫做

archiveRootObject:(id) toFile:(NSString *)

通知

[NSKeyedArchiver archiveRootObject:(id) toFile:(NSString *)];

通知

输入两个参数:

1)archiveRootObject:(

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/469175.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于AI Agent探讨:安全领域下的AI应用范式

先说观点:关于AI应用,通常都会聊准召。但在安全等模糊标准的场景下,事实上不存在准召的定义。因此,AI的目标应该是尽可能的“像人”。而想要评价有多“像人”,就先需要将人的工作数字化。而AI Agent是能够将数字化、自…

【MATLAB】在图框中加箭头文本注释

1、在图框中加 文本方法 —— text()函数 2、使用箭头标注——annotation()函数 X、Y是箭头的位置相对于整个方框的比例, [0.32,0.5]是指:x坐标从整个图形32%的地方到50%的地方(从左到右&…

Solidworks:创建更复杂的分割

用前视、右视基准面,分割一个零件。如何用自己创建的平面或曲面分割,我还的进一步学习。

Hive——动态分区导致的小文件问题

目录 0 问题现象 1 问题解决 解决方案一:调整动态分区数 方案一弊端:小文件剧增 解决方案二:distribute by 方案二弊端:数据倾斜 解决方案三:distribute by命令 2 思考 3 小结 0 问题现象 现象:…

算法学习——LeetCode力扣回溯篇3

算法学习——LeetCode力扣回溯篇3 491. 非递减子序列 491. 非递减子序列 - 力扣(LeetCode) 描述 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。…

FileZilla Server 1.8.1内网搭建

配置环境服务器服务器下载服务器配置服务器配置 Server - ConfigureServer Listeners - Port 协议设置 Protocols settingsFTP and FTP over TLS(FTPS) Rights management(权利管理)Users(用户) 客户端建立连接 配置环境 服务器处于局域网内: 客户端 < -访问- > 公网 &l…

上位机图像处理和嵌入式模块部署(借鉴与学习)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于很多学院派的同学来说&#xff0c;他们对市场的感觉一般是比较弱的。如果写一个软件的话&#xff0c;或者说开发一个项目的话&#xff0c;他们…

P5194 Scales S——dfs(前缀和剪枝)

传送门https://www.luogu.com.cn/problem/P5194手切第一遍&#xff0c;没想到可以用前缀和剪枝&#xff0c;并且是从小到大搜了&#xff0c;不出意外40分TLEWA 第二遍&#xff1a;代码及思路 // Problem: // P5194 [USACO05DEC] Scales S // // Contest: Luogu // UR…

自定义Spring Boot Starter

引言 在Spring Boot的世界中&#xff0c;Starter 能够简化我们的开发过程&#xff0c;通过封装常见的依赖和自动配置。本篇旨在为有志于进一步简化Spring Boot应用配置的开发者提供指导&#xff0c;让我们一起创建一个自定义的Spring Boot Starter。 一、什么是 Spring Boot …

第三百二十四回

文章目录 1. 概念介绍2. 原理与方法2.1 知识对比2.2 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"加密包crypto"相关的内容&#xff0c;本章回中将介绍characters包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 在项目中会遇到获取字…

vue3 Element Plus 基于webstorm练习

提要 vue是前端框架&#xff0c;Elemen是组件库。前端框架和组件库的区别与联系 nodejs 脚本语言需要一个解析器才能运行&#xff0c;JavaScript是脚本语言&#xff0c;在不同的位置有不一样的解析器&#xff0c;如写入html的js语言&#xff0c;浏览器是它的解析器角色。而对…

2.14 指针练习

1、选择题 1.1、若有下面的变量定义&#xff0c;以下语句中合法的是&#xff08; A &#xff09;。 int i&#xff0c;a[10]&#xff0c;*p&#xff1b; A&#xff09; pa2; B&#xff09; pa[5]; C&#xff09; pa[2]2; D&#xff09; p&(i2); 解析&am…