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 关键字

 

第三十节:@synthesize关键字

 

 第三十一节:@property 的改进

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

@property 的属性参数

 

也就是retain 会自动的在setter 方法里面,retainCount+1

 

 MRC

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

 

第三十四节:NSObject、id类型

 

第三十五节:instanceType

 

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

 

自定义构造方法

 

第三十八节:内存管理

 

引用计数器 

MRC 、ARC 

 

 

野指针 

第三十九节:@class

 

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

 

 第四十一节:ARC

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

ARC 下的循环引用 

 总结
 第四十二节:指定哪个类使用MRC,实现ARC与MRC共存
-fno-objc-arc
 第四十二节:分类

编译顺序
 非正式协议

 第四十三节: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

 

 

第五十五节:单例模式

 

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

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

相关文章

Linux信号解析

文章目录 Linux信号概念信号种类Linux信号产生异步 LInux信号阻塞递达、未决、阻塞、忽略信号集操作函数阻塞信号集操作函数未决信号集操作函数 Linux信号捕捉signal函数sigaction函数 总结 Linux信号概念 信号在我们的生活中无处不在,常见的如电话铃声&#xff0c…

国庆10.4

QT实现TCP服务器客户端 服务器 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器头文件 #include <QTcpSocket> //客户端头文件 #include <QList> //链表容器 #include <QMe…

【C 语言进阶(12)】动态内存管理笔试题

文章目录 题目 1题目 2题目 3题目 4 题目 1 运行 Test 函数后的结果是什么&#xff1f; void GetMemory(char* p) {p (char*)malloc(100); }void Test(void) {char* str NULL;GetMemory(str);strcpy(str, "hello world");printf(str); }代码结果 程序崩溃。 代…

C++ YAML使用

C++工程如何使用YAML-cpp 一、前期准备工作 1、已安装minGW、cmake、make等本地工具。 2、下载YAML-cpp第三方开源代码(一定要下载最新的release版本,不然坑很多)。 3、生成YAML-cpp静态库 (1)在yaml-cpp-master下建立build文件夹; (2)在该文件夹下生成MakaFile文…

C++入门-day01

一、认识C C融合了三种不同的编程方式 C代表的过程性语言在C基础上添加的类、结构体puls代表的面向对象语言C模板支持泛型编程 C完全兼容C的特性 Tips&#xff1a;侯捷老师提倡的Modren C是指C11、C14、C17和C20这些新标准所引入的一系列新特性和改进。在我们练习的时候也应当去…

Blender 之创建一个简单的笔筒

文章目录 成品图实现步骤 你是不是想创建一个笔筒捏&#xff1f; follow me! 成品图 实现步骤 先添加一个柱体 选中柱体&#xff0c;然后按tab 进入编辑模式 切换到面模式 &#xff08;可以按主键盘的 3 键&#xff09; 分别选中上下面&#xff0c;鼠标右键&#xff0c;选…

BL808学习日志-2-LVGL for M0 and D0

一、lvgl测试环境 对拿到的M1S_DOCK开发板进行开发板测试&#xff0c;博流的官方SDK是支持M0和D0两个内核都进行测试的&#xff1b;但是目前只实现了M0的LVGLBenchmark&#xff0c;测试D0内核中发现很多莫名其妙的问题。一会详细记录。 使用的是开发板自带的SPI显示屏&#xff…

【软考】4.2 关系代数/函数依赖/范式

《 关系代数 》 表和表之间的逻辑运算 笛卡尔积&#xff1a;S1 x S2 投影&#xff1a;π&#xff1b;选择某一列&#xff08;属性&#xff09;&#xff1b;一个关系R的投影操作结果也是一个关系&#xff0c;记作Πa&#xff0c;它由从关系R中选出的A列元素构成&#xff1b;选择…

隐私交易成新刚需,Unijoin 凭什么优势杀出重围?

随着区块链技术的普及和发展&#xff0c;全球加密货币用户在持续增长&#xff0c;根据火币研究院公布的数据&#xff0c;2022年全球加密用户已达到 3.2亿人&#xff0c;目前全球人口总数超过了 80亿&#xff0c;加密货币用户渗透率已达到了 4%。 尤其是在 2020 年开启的 DeFi 牛…

机器学习7:逻辑回归

一、说明 逻辑回归模型是处理分类问题的最常见机器学习模型之一。二项式逻辑回归只是逻辑回归模型的一种类型。它指的是两个变量的分类&#xff0c;其中概率用于确定二元结果&#xff0c;因此“二项式”中的“bi”。结果为真或假 — 0 或 1。 二项式逻辑回归的一个例子是预测人…

《Python趣味工具》——ppt的操作(刷题版)

前面我们对PPT进行了一定的操作&#xff0c;并将其中的文字提取到了word文档中。现在就让我们来刷几道题巩固巩固吧&#xff01; 文章目录 1. 查看PPT&#xff08;上&#xff09;2. 查看PPT&#xff08;中&#xff09;3. 查看PPT&#xff08;下&#xff09;4. PPT的页码5. 大学…

手机自动直播系统源码交付与代理加盟注意事项解析!

随着直播行业的不断发展&#xff0c;手机自动直播已经成为了人们生活中不可或缺的一部分。手机无人直播软件成了香饽饽&#xff0c;各类手机实景直播APP大批量涌现。因为创业和技术门槛低&#xff0c;市场需求高&#xff0c;所以成了最火热创业赛道。那么如果是不懂技术的人群&…

5.Vectors Transformation Rules

在上节&#xff0c;有个问题&#xff1a;向量分量的转换方式 与 新旧基底的转换方式相反 用例子来感受一下&#xff0c; 空间中一向量V&#xff0c;即该空间的一个基底&#xff1a;e1、e2 v e1 e2 现把基底 e1 、 e2 放大两倍。变成 基向量放大了两倍&#xff0c; 但对于…

Java8 Lambda.stream.sorted() 方法使用浅析分享

文章目录 Java8 Lambda.stream.sorted() 方法使用浅析分享sorted() 重载方法一升序降序 sorted() 重载方法二升序降序多字段排序 mock代码 Java8 Lambda.stream.sorted() 方法使用浅析分享 本文主要分享运用 Java8 中的 Lambda.stream.sorted方法排序的使用&#xff01; sorted…

速看:免费领取4台阿里云服务器_申请入口及领取流程

注册阿里云账号&#xff0c;免费领云服务器&#xff0c;最高领取4台云服务器&#xff0c;每月750小时&#xff0c;3个月免费试用时长&#xff0c;可快速搭建网站/小程序&#xff0c;部署开发环境&#xff0c;开发多种企业应用。阿里云服务器网分享阿里云服务器免费领取入口、免…

机器学习必修课 - 如何处理缺失数据

运行环境&#xff1a;Google Colab 处理缺失数据可简单分为两种方法&#xff1a;1. 删除具有缺失值的列 2. 填充 !git clone https://github.com/JeffereyWu/Housing-prices-data.git下载数据集 import pandas as pd from sklearn.model_selection import train_test_split导…

python中使用matplotlib绘图

一、背景 当我们在写python程序时&#xff0c;不可避免的需要将数据可视化&#xff0c;也就是绘制出数据的曲线图&#xff0c;以便我们更直观的观察数据间的变化&#xff0c;和方便对比。此时就要用到matplotlib库了。 matplotlib官方给出的定义是&#xff1a; 翻译过来也就是…

集合原理简记

HashMap 无论在构造函数是否指定数组长度&#xff0c;进行的都是延迟初始化 构造函数作用&#xff1a; 阈值&#xff1a;threshold&#xff0c;每次<<1 &#xff0c;数组长度 负载因子 无参构造&#xff1a;设置默认的负载因子 有参&#xff1a;可以指定初始容量或…

计组——I/O方式

一、程序查询方式 CPU不断轮询检查I/O控制器中“状态寄存器”&#xff0c;检测到状态为“已完成”之后&#xff0c;再从数据寄存器取出输入数据。 过程&#xff1a; 1.CPU执行初始化程序&#xff0c;并预置传送参数&#xff1b;设置计数器、设置数据首地址。 2. 向I/O接口发…

计算机竞赛 目标检测-行人车辆检测流量计数

文章目录 前言1\. 目标检测概况1.1 什么是目标检测&#xff1f;1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 行人车辆目标检测计数系统 …