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…...
系统集成项目管理总结(笔记)
系统集成项目管理总结 基础知识 第一章 信息化知识 第二章 信息系统服务管理 第三章 系统集成专业技术 第四章 项目管理一般知识 第五章 立项管理 第六章 整体管理 第七章 范围管理 第八章 进度管理 第九章 成本管理 第十章 质量管理 第十一章 人力资源管理 第十二…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
