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…...
系统集成项目管理总结(笔记)
系统集成项目管理总结 基础知识 第一章 信息化知识 第二章 信息系统服务管理 第三章 系统集成专业技术 第四章 项目管理一般知识 第五章 立项管理 第六章 整体管理 第七章 范围管理 第八章 进度管理 第九章 成本管理 第十章 质量管理 第十一章 人力资源管理 第十二…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
