【绘图案例-复习昨天的内容 Objective-C语言】

2024-03-08 12:44

本文主要是介绍【绘图案例-复习昨天的内容 Objective-C语言】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、先把这个昨天的内容复习一下

通知

1.首先,昨天学了QQ案例,

通知

然后呢,把这个“通讯录”做完了啊,

在这个里边儿,

通知

通讯录里边儿,有这么几个:

1)开关处理的逻辑:打开“自动登录”,让“记住密码”也自动去打开,取消“记住密码”,“自动登录”也自动去关闭,

2)然后呢,我们学习了“存储”,存储这一块儿呢,分为三种方式:

i.首先呢,是这个plist存储

ii.第二呢,是这个偏好设置,Preferences

iii.第三呢,是这个“归档、解档”,NSKeyedArchiver,

三种存储方式啊

3)然后呢,我们介绍了一下这个,“沙盒”,“沙盒”,实际上,就是一个文件夹,

本质上,就是一个文件夹啊,

本质上,就是“应用程序自己的那一块儿地盘儿“,

就是“沙盒”,

4)plist存储啊,怎么着去做plist存储,首先要有一个writeToFile:的方法,这是第一,

然后,plist里面的根节点呢,就是只支持Array、和Dictionary,

所以呢,你就去调用这两个对象的writeToFile:的方法,

然后,再给它一个文件的路径,把它写进去,就可以了,

命名的时候,叫做“什么什么点儿plist”,就可以了,

5)然后呢,是这个偏好设置,偏好设置,就是去做一些,设置类的一些这个东西,它能够快速存储“键值对“,而且呢,不需要你去关心文件名,还有这个文件夹的名字,和这个文件名,都不需要你去关心,

文件夹,的地方,是在这个Library下边的Preferences文件夹,然后,默认的名字,是叫Bundle-ID.plist,这么一个名字,

然后,里面儿,都是一些键值对,

它呢,用的时候,就是通过一个“单例”,叫做NSUserDefaults,

然后,类方法,有一个叫做standardUserDefaults,

通过它,[NSUserDefaults standardUserDefaults],获取到一个“单例”

然后呢,字典怎么用,你就怎么用,就可以了,

然后,唯一要注意的就是,你做完了存储以后,在存的时候,存完了,要去,有一个叫做synchronize:的方法,把这句话要写上,

[ud synchronize];

这句话的意思,就是“立即写入”啊,

6)然后呢,我们plist和偏好设置,学完了以后,我们用偏好设置,去做了一下,保存开关的状态,就是我下一次打开这个应用啊,我之前勾上了“记住密码”,当登录成功以后,我下次打开应用程序,这个“记住密码”开关,还是打开的,

就是做了一个这个“保存开关状态”的功能,然后,包括一些“自动登录”

通知

还包括一些,“记住密码”这些东西,就实现了,

7)然后呢,是这个“归档解档”,

“归档解档”:首先,是专门用来保存自定义对象的,

然后呢,首先,这个里边儿,不要去死记硬背啊,就记着,“归档解档”

里边儿,有一个叫做NSKeyedArchiver,这么一个类,

然后呢,类方法,有一个叫做archiveRootObject:这么一个方法,

然后,到时候报错儿的话,再去改,就行了,

报错儿的时候,它会提示你,

i.存的时候:有一个叫做encodeWithCoder:的方法,这个时候,它说:“某一个模型里边儿,没有找到这个对象方法“,没有找到encodeWithCoder:这个对象方法,然后,你再去写,然后,这个里边儿,要遵守一个叫做“NSCoding”的协议,然后呢,去写那两个方法

这篇关于【绘图案例-复习昨天的内容 Objective-C语言】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787126

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数