首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Objective-C
NewBoy
创建于2021-07-08
订阅专栏
日常积累OC基础及进阶
等 22 人订阅
共64篇文章
创建于2021-07-08
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS中NSCopying协议
copy产生一个新副本的过程,利用一个原对象产生一个新对象,copy:创建一个不可变的副本 mutableCopy:创建一个可变的副本
iOS中构建缓存(NSCache)
NSCache 是苹果官方提供的缓存类,用法与NSMutableDictionary的用法很相似,在AFNetworking和SDWebImage中,使用它来管理缓存
iOS中initialize和load
类必须先执行某些初始化操作,然后才能正常使用。OC中,绝大多数类都继承 NSObject 根类,该类有俩个方法用来实现初始化操作
iOS中对象等同性isEqual:和hash
对象的等同性 :我们在使用对象的时候,往往需要判断两个对象是否相等,这种相等包含两种含义: 1. 在程序上是否是同一块内存地址 2. 在语义上,是否能指代同一对象
iOS中#define和const
不要用预处理指令定义常量,因为不含类型信息,而且有人改了常量值也不会报错 在实现文件里使用static、const来定义的常量只能在该类的.m文件中使用,此类常量不在全局符号中
iOS中@class和#import
@class和#import的区别 使用#import引入一个类的头文件,编译时会将该类的头文件中的所有信息都引入,包含属性和方法 使用@
iOS中内存管理(僵尸对象)
僵尸对象 已经被销毁的对象,我们就称这个对象为“僵尸对象” 野指针 当一个指针指向一个僵尸对象,我们就称为这个指针为野指针
iOS中内存管理(Autoreleasepool)
Autoreleasepool用于存放那些需要在稍后某个时刻释放的对象,清空自动释放池时,系统会向其中的对象发送release消息
iOS中内存管理(ARC)
ARC是新的LLVM3.0编译器的一项特性,在工程中使用非常简单,不用再写release、retain、autorelease三个关键字。当开启ARC时,编译器将自动在代码合适的地方插
iOS中内存管理(引用计数器)
OC语言使用引用计数来管理内存,每一个对象都有一个可以递增递减的计数器,如果引用这个对象,那么这个对象的引用计数递增,如果不用了,那么这个对象引用计数递减,直到引用计数为0,这个对象就可以销毁了
iOS中内存管理(基本概念)
内存管理重要性 移动设备的内存极其有限,每个APP所占的内存都是有限的如果APP占用内存过大,系统会强制关闭APP,造成闪退,影响用户体验
iOS中的Block
什么是Block(快速实现直接输入inlink) block是一种特殊的数据类型 Block的作用 用于保存一段代码,可以在恰当的时间取出调用
iOS中的代理模式
通俗讲一个例子,同学A给同学B送东西,但是同学A临时有事去不了,这时同学A需要找了另外同学C帮他去送东西,我们就说C是A的代理,送东西这件事就是他们之间的协议
iOS中的Protocol
Protocol基本概念 类似于java的接口interface,接口就是一堆方法的声明,没有实现,在OC中接口是由一个叫做协议的Protocol来实现 Protocol 语法格式 Protocol的
iOS中的Category
在OC中,扩展一个类的方式有两种:继承、 分类 可以在不修改原来类的基础上,为这个类扩充一些方法 。
iOS中的多态
多态一般都要跟继承结合起来说,其本质是子类通过覆盖或重载父类的方法,来使得对同一类对象同一方法的调用产生不同的结果。这里需要辨析的地方在:同一类对象指的是继承层级再上一层的对象,更加泛化。
iOS中的继承
子类可以直接复用父类中的成员 子类继承父类所有方法的声明和实现 非私有的实例变量以及协议 继承时要在.h中声明一下 继承具有单根性和传
iOS中SEL类型
SEL类型代表着方法的签名,在类对象的方法列表中存储着该签名与方法代码的对应关系,每个类的方法列表都存储在类对象中,每个方法都有一个与之对应的SEL类型的对象。
iOS中类的启动过程
类的启动过程 只要程序启动就会将所有类的代码加载到内存中,放在代码区 load方法会在当前类被加载到内存的时候调用,有且仅会调用一次 如果存在继承关系,会先调用父类的load方法,在调用子类的load
iOS中方法和函数的区别
函数和方法 函数属于整个文件,方法属于某一个类,方法不能脱离类而存在 函数可以直接调用,方法必须用对象或者类调用 函数属于整个文件,但是如果把函数写在类的声明中会不识别
下一页