【绘图案例-复习昨天的内容 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”的协议,然后呢,去写那两个方法

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

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

相关文章

FPGA高端项目:FPGA基于GS2971的SDI视频接收+纯verilog图像缩放+多路视频拼接,提供8套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收转HDMI输出应用本方案的SDI接收图像缩放应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收OSD多路视频融合叠加应用本方案的SDI接收HLS多路视频融合叠加应用本方案的SDI接收GTX…

VPN应用场景典型案例-匿名网关组网应用

​​​​​​组网需求 多个发起方使用动态接入互联网方式,如PPPoE拨号或者NAT转换,这种方式中,发起方每次使用的IP地址可能不一致,所以响应端无法使用指定对端IP地址方式,匿名网关一端不指定对端IP,通过ID识别对端身份建立IPSec隧道,实现公司间内部网络的安全通信。 典…

去电脑维修店修电脑需要注意什么呢?装机之家晓龙

每当电脑出现故障时,你无疑会感到非常沮丧。 如果计算机已过了保修期,您将无法享受制造商的免费保修服务。 这意味着您必须自费找到一家电脑维修店。 去电脑维修店并不容易。 大家一定要知道,电脑维修非常困难,尤其是笔记本电脑维…

基于rk3568解决gpio阶梯波形(适用于i2c、uart、电平转换)

目录 1、理解GPIO的开漏(OD)和开集(OC) 2、查询io寄存器地址及定义 3、配置可调寄存器接口dev/mem author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 daisy.skye_嵌入式,Linux,Qt-CSDN博客daisy.skye擅长嵌入式,Linux,Q…

gorm快速上手

简介 1.什么是orm ORM全称是:Object Relational Mapping(对象关系映射),其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。举例来说就是,我定义一个对象,那就对应着一张表,这个对象的实例&#xf…

广播

1.什么是广播 2.标准广播 BroadStandardActivity.java package com.tiger.chapter09;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View;…

vscode 使用ssh进行远程开发 (remote-ssh),首次连接及后续使用,详细介绍

在vscode添加remote ssh插件 首次连接 选择左侧栏的扩展,并搜索remote ssh 它大概长这样,点击安装 安装成功后,在左侧栏会出现远程连接的图标,点击后选择ssh旁加号便可以进行连接。 安装成功后vscode左下角会有一个图标 点击图…

网页在特殊日子一键变灰

<template> <div :class"{ grayscale: isGrayscale }"> <!-- 你的页面内容放在这里 --> </div> </template> <script> export default { data() { return { // 存储哀悼日的数组 aidaoriDates:["0404", &q…

docker学习入门

1、docker简介 docker官网&#xff1a; www.docker.com dockerhub官网&#xff1a; hub.docker.com docker文档官网&#xff1a;docs.docker.com Docker是基于Go语言实现的云开源项目。 Docker的主要目标是&#xff1a;Build, Ship and Run Any App, Anywhere(构建&…

1.2_2 OSI参考模型

文章目录 1.2_2 OSI参考模型一、概述&#xff08;一&#xff09;ISO/OSI参考模型是怎么来的&#xff1f;&#xff08;二&#xff09;ISO/OSI参考模型&#xff08;三&#xff09;ISO/OSI参考模型解释通信过程 二、各层功能及协议&#xff08;一&#xff09;应用层&#xff08;第…

oss-fuzz-gen:一款基于LLM的模糊测试对象生成与评估框架

关于oss-fuzz-gen oss-fuzz-gen是一款基于LLM的模糊测试对象生成与评估框架&#xff0c;该工具可以帮助广大研究人员使用多种大语言模型&#xff08;LLM&#xff09;生成真实场景中的C/C项目以执行模糊测试。 该工具基于Google的OSS-Fuzz平台实现其功能&#xff0c;并对生成的…

蓝桥OJ 2942数字王国之军训排队 DFS剪枝

蓝桥OJ 2942数字王国之军训排队 #include<bits/stdc.h> using namespace std;const int N 15;//最多10队 int a[N], n; vector<int>v[N];//二维数组 v[i]记录队伍i中所有人的编号bool dfs(int cnt, int dep) {if (dep n1){//判断合法性for (int i 1; i < n; …

Spring揭秘:BeanDefinitionRegistry应用场景及实现原理!

内容概要 BeanDefinitionRegistry接口提供了灵活且强大的Bean定义管理能力&#xff0c;通过该接口&#xff0c;开发者可以动态地注册、检索和移除Bean定义&#xff0c;使得Spring容器在应对复杂应用场景时更加游刃有余&#xff0c;增强了Spring容器的可扩展性和动态性&#xf…

【C++那些事儿】函数重载与C++中的“指针“——引用

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;我之前看过一套书叫做《明朝那些事儿》&#xff0c;把本来枯燥的历史讲的生动有趣。而C作为一门接近底层的语言&#xff0c;无疑是抽象且难度颇…

为什么RTX 4090更受欢迎

RTX 4090作为顶级显卡&#xff0c;凭借高性能和高图形处理能力&#xff0c;特别适合游戏、专业图形设计和人工智能领域&#xff0c;备受专业游戏玩家和高性能计算需求开发者的青睐。 RTX 4090高速复杂的计算能力 RTX 4090 GPU拥有 760 亿个晶体管、16384 个 CUDA 核心和 24 GB…

nestjs10.x使用jwt生成token

1 安装依赖&#xff1a; pnpm install --save nestjs/jwtpnpm install passport passport-jwt nestjs/jwtpnpm install types/passport-jwt --save-dev 2 可以使用命令新建auth鉴权文件夹 nest g mo auth // auth.module.ts nest g s auth // auth.service.ts nest g co …

杠杆和保证金有什么关系?WeTrade众汇一个公式讲清楚

在交易中杠杆其实就是一种期权&#xff0c;它能增加交易者作为抵押品的资金&#xff0c;以建立和维持头寸。 例如&#xff0c;1:100的操作杠杆&#xff0c;在这种情况下&#xff0c;意味着开立1000单位基础货币的头寸&#xff0c;交易者将需要少100倍的资金&#xff0c;即10个…

C++常量和变量

甲流疫情死亡率 甲流并不可怕&#xff0c;在中国&#xff0c;它的死亡率并不是很高。根据截至2009年12月22日各省报告的甲流确诊数和死亡数&#xff0c;计算甲流在各省的死亡率 输入 一行&#xff0c;有两个整数&#xff0c;第1个为确诊数&#xff0c;第2个为死亡数 输出 一…

学习Java的第四天

目录 一、if选择结构 1、基本if选择结构 语法结构&#xff1a; 流程图&#xff1a; 示例&#xff1a; 2、if-else 选择结构 语法结构&#xff1a; 流程图&#xff1a; 示例&#xff1a; 3、多重if选择结构 语法结构&#xff1a; 流程图&#xff1a; 示例&#xff1a…

【Docker】若依ruoyi项目部署

一 搭建局域网 1 # 搭建net-ry局域网&#xff0c;用于部署若依项目docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1 # 注意1&#xff1a;关闭宿主机的防火墙&#xff0c;否者容器内部的MySQL、redis等服务&#xff0c;外部访问不了&#xff1b;开放…