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命令行输入: 2、给selenium添加代理 最近因为工作需要,需要selenium添加带有账密的socks5代理,贴出一个可用的方法。 把带有账密的socks5代理&am…...
Redis 如何实现数据不丢失的?
Redis 实现数据不丢失的关键在于使用了多种持久化机制,以确保数据在内存和磁盘之间的持久性。以下是 Redis 实现数据不丢失的主要方法: 快照(Snapshot)持久化: Redis 使用快照持久化来定期将内存中的数据写入磁盘。快照是一个数据库状态的副本,包含了所有键和与其相关联的…...
[高等数学]同济版高等数学【第七版】上下册教材+习题全解PDF
laiyuan 「高等数学 第7版 同济大学」 https://www.aliyundrive.com/s/5fpFJb3asYk 提取码: 61ao 通过百度网盘分享的文件:同济版高数教材及… 链接:https://pan.baidu.com/s/1gyy-GMGjwguAjYijrpC8RA?pwdyhnr 提取码:yhnr 高等数学相关: The Ca…...
【面试题精讲】Java超过long类型的数据如何表示
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 在 Java 中,如果需要表示超过 long 类型范围的数据,可以使用 BigInteger 类…...
Shapiro-Wilk正态性检验(Shapiro和Wilk于1965年提出)
Shapiro-Wilk正态性检验是一种用于确定数据集是否服从正态分布的统计方法。它基于Shapiro和Wilk于1965年提出的检验统计量。以下是其基本原理和用途: 基本原理: 零假设(Null Hypothesis):Shapiro-Wilk检验的零假设是数…...
debian设置允许ssh连接
解决新debian系统安装后不能通过ssh连接的问题。 默认情况下,Debian系统不开启SSH远程登录,需要手动安装SSH软件包并设置开机启动。 > 设置允许root登录传送门:debian设置允许root登录 首先检查/etc/ssh/sshd_config文件是否存在。 注意…...
【C语言经典100例题-66】(用指针解决)输入3个数a,b,c,按大小顺序输出。
代码: #include<stdio.h> #define _CRT_SECURE_NO_WARNINGS 1//VS编译器使用scanf函数时会报错,所以添加宏定义 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函数测试代码 总结 前言 在本文中,我们将介绍如何在STM32上成…...
华为云智能化组装式交付方案 ——金融级PaaS业务洞察及Web3实践的卓越贡献
伴随信息技术与金融业务加速的融合,企业应用服务平台(PaaS)已从幕后走向台前,成为推动行业数字化转型的关键力量。此背景下,华为云PaaS智能化组装式交付方案闪耀全场,在近日结束的华为全联接大会 2023上倍受…...
Halcon Image相关算子(二)
(1) dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 功能:从输入图像中选择像素满足阈值条件的那些区域。 图形输入参数:OrigImage:原始图像; 图形输入参数:ThresholdImage&a…...
Rust 多线程编程
一个进程一定有一个主线程,主线程之外创建出来的线程称为子线程 多线程编程,其实就是在主线程之外创建子线程,让子线程和主线程并发运行,完成各自的任务。 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…...
系统集成项目管理总结(笔记)
系统集成项目管理总结 基础知识 第一章 信息化知识 第二章 信息系统服务管理 第三章 系统集成专业技术 第四章 项目管理一般知识 第五章 立项管理 第六章 整体管理 第七章 范围管理 第八章 进度管理 第九章 成本管理 第十章 质量管理 第十一章 人力资源管理 第十二…...
Casbin Talent 2026:高校开发者开源进阶与工业级项目实战指南
1. 项目概述:Casbin Talent 2026,一个为高校开发者量身定制的开源进阶通道如果你是一名在校大学生,对开源世界充满好奇,渴望在真实的工业级项目中打磨技术,但又觉得像Google Summer of Code(GSoC࿰…...
地下水位监测仪:实现深井水位远程自动观测
设备是什么地下水位监测仪是一种用于测量地下水、矿山井或地热井中水位高度的仪器。它采用投入式探头设计,基于静水压力原理工作:当传感器探头固定在水下某一点时,通过感知该点上方水柱产生的压力,结合安装高程,即可换…...
Flutter 告别 Rosetta:揭秘 iOS 工具链原生适配 M 芯片的“折腾”史
如果你是 macOS 用户,一定对 Apple Silicon(M1/M2/M3)的性能赞不绝口。但在光鲜的背后,很多底层开发工具其实一直在靠 Rosetta 2 偷偷「苟延残喘」。今天,我们通过复盘近期 Flutter 官方的一个核心 PR,来看…...
设计师连夜删稿的真相:Onion Skin未启用导致版本错位!3分钟紧急修复+历史帧自动锚定脚本
更多请点击: https://intelliparadigm.com 第一章:设计师连夜删稿的真相:Onion Skin未启用导致版本错位!3分钟紧急修复历史帧自动锚定脚本 当动画师在 Toon Boom Harmony 或 Adobe Animate 中反复导出“看似正确”的中间帧&#…...
鸿蒙 App 的 Task + State 双核心架构
子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...
AI大模型选型生死线(2026企业级部署避坑指南)
更多请点击: https://intelliparadigm.com 第一章:AI大模型选型生死线(2026企业级部署避坑指南) 企业在2026年落地AI大模型时,选型失误的代价已远超算力采购成本——模型架构错配、上下文长度硬伤、商用许可证模糊、推…...
Prometheus 自定义指标监控:Python Exporter 编写与业务指标告警配置
前言 Prometheus 监控系统指标(CPU、内存、磁盘)这件事很多人熟悉,但不少开发者有个共同疑问:业务特有的指标——比如队列积压数、订单待处理量、API 调用成功率——Prometheus 能监控吗? 答案是:完全可以…...
别再死记硬背CTL公式了!用UPPAAL模拟器手把手带你理解A[]和E<>的区别
别再死记硬背CTL公式了!用UPPAAL模拟器手把手带你理解A[]和E<>的区别 刚接触形式化验证工具UPPAAL时,最令人头疼的莫过于那些晦涩难懂的CTL(计算树逻辑)公式。A[]、E<>这些符号组合看起来像天书,教科书上的…...
Cadence焊盘绘制实战:从零到一构建PCB封装基石
1. 为什么焊盘设计是PCB封装的基石 刚入行硬件设计那会儿,我总以为画封装就是照着尺寸描边。直到有次量产时发现整批QFN芯片虚焊,才明白焊盘设计才是封装可靠性的命门。Cadence的分离式设计哲学——将焊盘(Padstack)与封装&#x…...
告别玄学调试:手把手教你用Vivado配置Xilinx SRIO IP核(附完整工程源码)
告别玄学调试:手把手教你用Vivado配置Xilinx SRIO IP核(附完整工程源码) 在FPGA开发领域,高速串行通信一直是工程师们又爱又恨的技术难点。特别是当项目需要实现芯片间高速数据交互时,Serial RapidIO(SRIO…...
