当前位置: 首页 > news >正文

objective-c 基础学习

目录

第一节:OC 介绍

​​第二节:Fundation 框架

​第三节:NSLog 相对于print 的增强

​第四节:NSString

​第五节:oc新增数据类型

第六节: 类和对象

​类的方法的声明与实现

​第七节:类和对象的存储

第八节:nil 与 NULL

第九节:分组导航标记#pragma mark

​第十节:方法与函数的区别

第十一节:添加文件的便捷方法

​第十二节:对象与方法

第十三节:异常处理

第十四节:对象方法和类方法

第十五节:NSString 

第十六节:匿名对象

 第十七节:属性setter、getter

第十八节:对象之间的关系 

第十九节:OC 中的static变量

 第二十节:self

​第二十一节:继承

继承的特点 

​第二十二节:访问修饰符

第二十三节:里氏替换原则

​第二十四节:description

第二十五:子类是怎么查找到父类的,怎么存储的

第二十六节:类的本质

第二十七节:SEL(selector) 

第二十八节:点语法

​第二十九节:@property 关键字

第三十节:@sysnthesize关键字

​第三十一节:@property 的改进

@property 的属性参数

第三十二节:静态类型、动态类型

第三十四节:NSObject、id类型

第三十五节:instanceType

 第三十六节:responseToSelector、isKindOfClass、isMemberOfClass 、isSubclassOfClass 

​第三十七节:init 

自定义构造方法

第三十八节:内存管理

引用计数器 

MRC 、ARC 

野指针 

第三十九节:@class

第四十节:自动释放池@autoreleasepool

​第四十一节:ARC

ARC 下的循环引用 

 总结​

​第四十二节:指定哪个类使用MRC​

​第四十二节:分类

编译顺序

​非正式协议

​第四十三节:Extension

第四十四节:block 类型 

Block 的简写

​第四十五节:Protocol  协议

​第四十六节:Fundation 库中常用的方法

NSString

字符串读取、写入到文件 

NSURL 读取、写入文件

字符串比较

查找子串

从后往前搜​

NSRange​

字符串截取

​字符串替换

与其他类型的转换

​去掉头尾小写字母、去掉头尾大写字母、去掉头尾指定字母

第四十七节:NSMutableString

第四十八节:NSArray

​遍历

写入文件、读取文件

与字符串相关的方法

第四十九节:NSMutableArray

第五十节:NSNumber

第五十一节:NSDictionary 字典数组

取值:

遍历:

存储原理:

第五十二节:NSMutableDictionary

​写入、读取文件

存储原理

第五十三节:NSFileManager

​创建、拷贝、删除 文件

CGPoint、CGSize、CGRect

​NSValue

NSDate

NSCalender:日历对象

第五十四节:copy

第五十五节:单例模式


第一节:OC 介绍
第二节:Fundation 框架
 第三节:NSLog 相对于print 的增强

 第四节:NSString

 第五节:oc新增数据类型

第六节: 类和对象

 

 类的方法的声明与实现

 

 

 第七节:类和对象的存储

 因为方法是通用的

第八节:nil 与 NULL

第九节:分组导航标记#pragma mark
 第十节:方法与函数的区别

 

 

 

第十一节:添加文件的便捷方法
 第十二节:对象与方法

 

第十三节:异常处理

 

第十四节:对象方法和类方法

 

第十五节:NSString 
第十六节:匿名对象

 第十七节:属性setter、getter

第十八节:对象之间的关系 
第十九节:OC 中的static变量

 第二十节:self

下面两句话意思是一样的,都代表当前对象的name 属性 

 

 第二十一节:继承

继承的特点 

 第二十二节:访问修饰符

 

 

第二十三节:里氏替换原则

 

 第二十四节:description

类似于c# 的tostring()

第二十五:子类是怎么查找到父类的,怎么存储的

 

第二十六节:类的本质

 

 

第二十七节:SEL(selector) 

 

 

第二十八节:点语法

 

也就是如果没有对应的setter方法,是报错的

 第二十九节:@property 关键字

 

第三十节:@sysnthesize关键字

 

 第三十一节:@property 的改进

自动生成的属性 是_属性名,是带下划线的

@property 的属性参数

 

 

 MRC

第三十二节:静态类型、动态类型

 

第三十四节:NSObject、id类型

 

第三十五节:instanceType

 

 第三十六节:responseToSelector、isKindOfClass、isMemberOfClass 、isSubclassOfClass 
 第三十七节:init 

 

自定义构造方法

 

第三十八节:内存管理

 

引用计数器 

MRC 、ARC 

 

 

野指针 

第三十九节:@class

 

第四十节:自动释放池@autoreleasepool

 

 第四十一节:ARC

 回收指的是,回收对象,是[person new]这个对象

ARC 下的循环引用 

 总结
 第四十二节:指定哪个类使用MRC
 第四十二节:分类

编译顺序
 非正式协议

 第四十三节:Extension

类似于接口

 

 

第四十四节:block 类型 

 

Block 的简写

 

定义在函数的参数里面,把Block的名字拿出来,放在外面 

 第四十五节:Protocol  协议

类似于c# 的接口 

 

 第四十六节:Fundation 库中常用的方法
NSString

字符串读取、写入到文件 

NSURL 读取、写入文件

 

字符串比较

一般来比较带序号的图片 

 

查找子串

 

从后往前搜
 NSRange
字符串截取
 字符串替换

与其他类型的转换
 去掉头尾小写字母、去掉头尾大写字母、去掉头尾指定字母
第四十七节:NSMutableString

 

第四十八节:NSArray

 

使用@ 能打印出NSArray的所有元素 

 遍历

 

写入文件、读取文件

与字符串相关的方法

 

第四十九节:NSMutableArray

 

 

第五十节:NSNumber

 

第五十一节:NSDictionary 字典数组

 

取值:

dic[@"key"]

dic object for key:@"key"

如果取值没有,则返回nil

[dic allkeys] 、 [dic allvalues]

遍历:

存储原理:

每一个key都通过hash算法,获取到这个下标,存进去 

第五十二节:NSMutableDictionary

 写入、读取文件

存储原理

 

第五十三节:NSFileManager

 

以点开头的文件是隐藏文件 ls-al 能打印出来 

 创建、拷贝、删除 文件

 

CGPoint、CGSize、CGRect

 

 

 NSValue

 

NSDate

 

 转换的时候会自动的转换成系统的时区

 

NSCalender:日历对象

 

第五十四节:copy

 

 

第五十五节:单例模式

 

相关文章:

objective-c 基础学习

目录 第一节:OC 介绍 ​​第二节:Fundation 框架 ​第三节:NSLog 相对于print 的增强 ​第四节:NSString ​第五节:oc新增数据类型 第六节: 类和对象 ​类的方法的声明与实现 ​第七节:类…...

【精彩回顾】 用sCrypt在Bitcoin上构建智能合约

2023年3月24日,sCrypt在英国Exeter大学举办了关于智能合约的大学讲学。sCrypt首席执行官刘晓晖做了题为“用sCrypt在Bitcoin上构建智能合约”的演讲,并与到场的老师、学生进行了深入交流、互动。这次课程着重讲解了 BSV 智能合约的基础概念,以…...

Kotlin 使用泛型

在 Kotlin 中,我们可以使用泛型(Generics)来编写具有通用性的代码,以增强代码的可重用性和类型安全性。通过使用泛型,我们可以在不指定具体类型的情况下编写适用于多种类型的函数和类。 以下是 Kotlin 中使用泛型的几…...

深度学习 二:COVID 19 Cases Prediction (Regression)

Deep Learning 1. 回归算法思路2. 代码2.1 基础操作2.2 定义相关函数2.3.1 定义图像绘制函数2.3.2 数据集加载及预处理2.3.3 构造数据加载器2.3.4 构建前馈神经网络(Feedforward Neural Network)模型2.3.5 神经网络的训练过程2.3.6 模型评估2.3.7 模型测…...

UG\NX二次开发 信息窗口的4种输出方式 NXOpen::ListingWindow::DeviceType

文章作者:里海 来源网站:《里海NX二次开发3000例专栏》 简介 UG\NX二次开发 信息窗口的4种输出方式 NXOpen::ListingWindow::DeviceType 信息窗口的输出类型 enum NXOpen::ListingWindow::DeviceType 枚举值描述 DeviceTypeWindow0输出将写入“信息”窗口DeviceTypeFile1输出…...

mavn打包时如何把外部依赖加进去?

一、添加依赖: <dependency><groupId>com.dm</groupId><artifactId>DmJdbcDriver</artifactId><version>18</version><scope>system</scope><systemPath>${project.basedir}/lib/DmJdbcDriver18.jar</systemP…...

爬虫代理请求转换selenium添加带有账密的socks5代理

爬虫代理请求转换selenium添加带有账密的socks5代理。 一、安装三方库 二、使用方法 1、在cmd命令行输入&#xff1a; 2、给selenium添加代理 最近因为工作需要&#xff0c;需要selenium添加带有账密的socks5代理&#xff0c;贴出一个可用的方法。 把带有账密的socks5代理&am…...

Redis 如何实现数据不丢失的?

Redis 实现数据不丢失的关键在于使用了多种持久化机制,以确保数据在内存和磁盘之间的持久性。以下是 Redis 实现数据不丢失的主要方法: 快照(Snapshot)持久化: Redis 使用快照持久化来定期将内存中的数据写入磁盘。快照是一个数据库状态的副本,包含了所有键和与其相关联的…...

[高等数学]同济版高等数学【第七版】上下册教材+习题全解PDF

laiyuan 「高等数学 第7版 同济大学」 https://www.aliyundrive.com/s/5fpFJb3asYk 提取码: 61ao 通过百度网盘分享的文件&#xff1a;同济版高数教材及… 链接:https://pan.baidu.com/s/1gyy-GMGjwguAjYijrpC8RA?pwdyhnr 提取码:yhnr 高等数学相关&#xff1a; The Ca…...

【面试题精讲】Java超过long类型的数据如何表示

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 在 Java 中&#xff0c;如果需要表示超过 long 类型范围的数据&#xff0c;可以使用 BigInteger 类…...

Shapiro-Wilk正态性检验(Shapiro和Wilk于1965年提出)

Shapiro-Wilk正态性检验是一种用于确定数据集是否服从正态分布的统计方法。它基于Shapiro和Wilk于1965年提出的检验统计量。以下是其基本原理和用途&#xff1a; 基本原理&#xff1a; 零假设&#xff08;Null Hypothesis&#xff09;&#xff1a;Shapiro-Wilk检验的零假设是数…...

debian设置允许ssh连接

解决新debian系统安装后不能通过ssh连接的问题。 默认情况下&#xff0c;Debian系统不开启SSH远程登录&#xff0c;需要手动安装SSH软件包并设置开机启动。 > 设置允许root登录传送门&#xff1a;debian设置允许root登录 首先检查/etc/ssh/sshd_config文件是否存在。 注意…...

【C语言经典100例题-66】(用指针解决)输入3个数a,b,c,按大小顺序输出。

代码&#xff1a; #include<stdio.h> #define _CRT_SECURE_NO_WARNINGS 1//VS编译器使用scanf函数时会报错&#xff0c;所以添加宏定义 swap(p1, p2) int* p1, * p2; {int p;p *p1;*p1 *p2;*p2 p; } int main() {int n1, n2, n3;int* pointer1, * pointer2, * point…...

【STM32 CubeMX】移植u8g2(一次成功)

文章目录 前言一、下载u8g2源文件二、复制和更改文件2.1 复制文件2.2 修改文件u8g2_d_setup文件u8g2_d_memory 三、编写oled.c和oled.h文件3.1 CubeMX配置I2C3.2 编写文件oled.holed.c 四、测试代码main函数测试代码 总结 前言 在本文中&#xff0c;我们将介绍如何在STM32上成…...

华为云智能化组装式交付方案 ——金融级PaaS业务洞察及Web3实践的卓越贡献

伴随信息技术与金融业务加速的融合&#xff0c;企业应用服务平台&#xff08;PaaS&#xff09;已从幕后走向台前&#xff0c;成为推动行业数字化转型的关键力量。此背景下&#xff0c;华为云PaaS智能化组装式交付方案闪耀全场&#xff0c;在近日结束的华为全联接大会 2023上倍受…...

Halcon Image相关算子(二)

(1) dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 功能&#xff1a;从输入图像中选择像素满足阈值条件的那些区域。 图形输入参数&#xff1a;OrigImage&#xff1a;原始图像&#xff1b; 图形输入参数&#xff1a;ThresholdImage&a…...

Rust 多线程编程

一个进程一定有一个主线程&#xff0c;主线程之外创建出来的线程称为子线程 多线程编程&#xff0c;其实就是在主线程之外创建子线程&#xff0c;让子线程和主线程并发运行&#xff0c;完成各自的任务。 Rust语言支持多线程编程。 Rust语言标准库中的 std::thread 模块用于多线…...

JavaScript高阶班之ES6 → ES11(八)

JavaScript高阶班之ES6 → ES11 1、ES6新特性1.1、let 关键字1.2、const关键字1.3、变量的解构赋值1.3.1、数组的解构赋值1.3.2、对象的解构赋值 1.4、模板字符串1.5、简化对象写法1.6、箭头函数1.7、函数参数默认值1.8、rest参数1.9、spread扩展运算符1.9.1、数组合并1.9.2、数…...

网页中嵌套网页制作方法

<!DOCTYPE html> <html> <head> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <meta charset"UTF-8"> <title>网页搜索</title> <style> body { ba…...

系统集成项目管理总结(笔记)

系统集成项目管理总结 基础知识 第一章 信息化知识 第二章 信息系统服务管理 第三章 系统集成专业技术 第四章 项目管理一般知识 第五章 立项管理 第六章 整体管理 第七章 范围管理 第八章 进度管理 第九章 成本管理 第十章 质量管理 第十一章 人力资源管理 第十二…...

如何给Nginx配置访问IP白名单

一、Nginx配置访问IP白名单 有时部署的应用需要只允许某些特定的IP能够访问&#xff0c;其他IP不允许访问&#xff0c;这时&#xff0c;就要设置访问白名单&#xff1b; 设置访问白名单有多种方式&#xff1a; 1.通过网络防火墙配置&#xff0c;例如阿里云/华为云管理平台 2.…...

【VIM】VIM配合使用的工具

6-1 课程总结-vim虐我千百遍&#xff0c;我待 vim 如初恋_哔哩哔哩_bilibili...

git你学“废”了吗?——git本地仓库的创建

git你学“废”了吗&#xff1f;——git本地仓库的创建&#x1f60e; 前言&#x1f64c;初识gitgit 本地仓库的创建1、基于centos7环境下 git的下载2、设置自己的用户名和邮箱 查看.git中的结构区分清楚版本库和工作区 查看git中的相关内容查看仓库的状态 总结撒花&#x1f49e;…...

AWS Lambda Golang HelloWorld 快速入门

操作步骤 以下测试基于 WSL2 Ubuntu 22.04 环境 # 下载最新 golang wget https://golang.google.cn/dl/go1.21.1.linux-amd64.tar.gz# 解压 tar -C ~/.local/ -xzf go1.21.1.linux-amd64.tar.gz# 配置环境变量 PATH echo export PATH$PATH:~/.local/go/bin >> ~/.bashrc …...

【C++】单例模式

文章目录 一. 介绍二. 饿汉模式三. 懒汉模式四. 饿汉模式和懒汉模式对比 一. 介绍 单例模式是属于设计模式的一种&#xff0c;那什么是设计模式呢&#xff1f; 设计模式&#xff08;Design Pattern&#xff09;是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总…...

【kubernetes】使用luakube访问kubernetes api

文章目录 1 kubernetes client2 luakube初体验3 luakube代码分析4 luakube包的调用5 lua相关5.1 self5.2 metatable5.2.1 使用metatable对table新增操作符5.2.2 使用metatable对table新增方法5.2.3 再探luakube 6 参考文档 1 kubernetes client 客户端列出了各种语言对应的访问…...

【算法分析与设计】贪心算法(下)

目录 一、单源最短路径1.1 算法基本思想1.2 算法设计思想1.3 算法的正确性和计算复杂性1.4 归纳证明思路1.5 归纳步骤证明 二、最小生成树2.1 最小生成树性质2.1.1 生成树的性质2.1.2 生成树性质的应用 2.2 Prim算法2.2.1 正确性证明2.2.2 归纳基础2.2.3 归纳步骤2.3 Kruskal算…...

Arm Cache学习资料大汇总

关键词&#xff1a;cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频&#xff0c;cache视频、mmu视频&#xff0c;armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…...

Docker 学习总结(79)—— Dockerfile 编写技巧总结

目标 更快的构建速度 更小的 Docker 镜像大小 更少的 Docker 镜像层 充分利用镜像缓存 增加 Dockerfile 可读性 让 Docker 容器使用起来更简单 总结 编写 .dockerignore 文件 容器只运行单个应用 将多个 RUN 指令合并为一个 基础镜像的标签不要用 latest 每个 RUN 指令后删除多…...

链表经典面试题(二)

返回中间结点 1.中间结点的题目2.中间结点的图文分析3.中间结点的基本代码4.中间结点的优化代码 1.中间结点的题目 2.中间结点的图文分析 方法1&#xff1a;先求整体长度&#xff0c;再除以2&#xff0c;所得到的就是中间结点 方法2&#xff1a;双指针法&#xff0c;快指针走两…...

如何用oss做视频网站/公司网站注册流程和费用

​ 降本增效主旋律下的生存之道 最近几年&#xff0c;互联网产业在政策抑制和市场容量接近饱和的情况下&#xff0c;慢慢地由野蛮生长、争抢客户的增量市场发展模式&#xff0c;进入了一个需要精细化运营&#xff0c;通过优质服务来留住客户的存量市场发展模式。能够通过创新…...

wordpress给tag增加字段/关键词查询优化

异常&#xff1a;添加一个新节点时&#xff0c;突然发现不能下载包了 https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.0/repodata/repomd.xml 401 未授权。 原因&#xff1a;从2021年1月31日开始&#xff0c;所有Cloudera软件都需要有效的订阅&#xff0c;并且只…...

武汉网站 互动/百度首页登录官网

绪论 1 研究的意义及必要性燃气轮机是典型的动力设备&#xff0c;被广泛地应用于电力、能源、交通及军事等关系国计民生的重要部门。因此&#xff0c;研究如何提高燃气轮机使用寿命及可靠性&#xff0c;减少事故发生&#xff0c;以充分提高其经济性及安全性系数&#xff0c;无…...

企业的建站方式/广告营销是做什么的

建立多任务模型&#xff0c;并用线程来实现符合POSIX标准的UNIX操作系统提供了线程的控制函数&#xff0c;如&#xff1a;线程的创建和终止、线程之间的互斥、线程之间的同步等。利用这些系统函数可以成功地模拟消息队列&#xff0c;来实现线程间数据共享和同步&#xff0c;以完…...

网站可以做哪些内容/搜索引擎营销的概念

在MySQL中&#xff0c;无法在FROM子句中使用select from过程。您可以使用CALL命令&#xff0c;然后可以执行SELECT语句。让我们首先创建一个表&#xff1a;mysql> create table DemoTable2-> (-> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> CustomerN…...

股票查询网站模板 wordpress/网络营销推广的渠道有哪些

在过去五个月中&#xff0c;Google 的 OSS-Fuzz 计划已经在 47 个开源软件项目中发掘了超过 1000 个 bug 。 OSS-Fuzz 是 Google 在去年12月推出的一个开源安全计划&#xff0c;针对开源软件进行持续的模糊测试&#xff0c;利用更新的模糊测试技术与可拓展的分布式执行相结合&a…...