当前位置:网站首页>OC-范畴
OC-范畴
2022-08-02 06:50:00 【彭同学她同桌】
范畴的主要目的是防止一个拥有众多方法的类太长
可以将类中的方法分散在多个范畴中
范畴属于类 可以看作给类的方法分组
用法
@interface 类名(范畴名)
方法的声明
@end
@implementation 类名(范畴名)
方法的定义
@end
主要目的就是将众多的类方法分散在多个范畴中 在.h文件中声明所有的范畴 但是在不同的.m中定义不同的范畴
关于在范畴中添加属性声明@property
注意!在范畴的声明中不能直接声明变量 只能通过写@property int a;然后在正常状态下@preperty会自动定义set和get方法 但是如果这个@property是声明在范畴中就会不会在定义中自动创建 并且不能在范畴定义中写@synthesize 需要自己手动实现 因为防止随意访问同一个类的不同文件中定义的实例变量
关于在多个范畴中重写同一个方法
最后一次编辑(比如在这个范畴的方法中加一个空格都行)的是哪个范畴中的方法就是调用哪个范畴中的方法 范畴重写的方法一定能覆盖原有方法(也就的在类中定义的那个)
类拓展 就是没有名字的范畴
类拓展可以声明实例变量但是类拓展也只能声明
实现一定只能在主实现中
#interface A()//就是括号里不写东西
{
int a;
}
-()say;
关联引用
可以为一个对象增加多个引用
必须使用确定的不再改变的地址作为键值 例如静态局部变量
import<objc/runtime>
void objc-setAssociatedObject(id object,void *key,id value,objc_AssociationPolicy policy)
为对象object添加以key指定的地址作为关键值 以value为值的关联引用 plicy指定关联引用的存储策略
通过将value指定为nil就可以删除key的关联
id objc_getAssociatedObject(id object,void *key)
返回object以key为关键字关联的对象 如果没有关联到任何对象则返回nil
实例
边栏推荐
- Leetcode Weekly 304
- 张驰课堂:六西格玛测量系统的误差分析与判定
- LeetCode SQL 197. 上升的温度
- jvm 二之 栈帧内部结构
- 59:第五章:开发admin管理服务:12:MongoDB的使用场景;(非核心数据,数据量比较大的非核心数据,人脸照片等隐私的小文件;)
- 交换部分 VLAN
- System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可 访问的日志: Security
- 实例032:反向输出II
- 解决C#非静态字段、方法或属性“islandnum.Program.getIslandCount(int[][], int, int)”要求对象引用
- Xilinx约束学习笔记—— 时序约束
猜你喜欢

Vscode连接远程服务器出现‘Acquiring lock on/home/~’问题
——设备树的概述(硬件、目标、效果、文件类型)](/img/c6/6c2321bfcd184886e1cb59664bec11.png)
[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)

Gradle系列——Gradle插件(基于Gradle文档7.5)day3-2

结构体大小计算--结构体内存对齐

Xilinx约束学习笔记—— 时序约束

(2022牛客多校五)D-Birds in the tree(树形DP)

【故障诊断分析】基于matlab FFT轴承故障诊断(包络谱)【含Matlab源码 2002期】

2022.07.31(LC_6132_使数组中所有元素都等于零)

自然语言处理 文本预处理(上)(分词、词性标注、命名实体识别等)

电商库存系统的防超卖和高并发扣减方案
随机推荐
请教一下,Flink SQL ,JDBC sink 入 mysql 库,想要搞一个自增主键,要怎么写
[21天学习挑战赛——内核笔记](一)——设备树的概述(硬件、目标、效果、文件类型)
WebGPU 导入[2] - 核心概念与重要机制解读
解决Pytorch模型在Gunicorn部署无法运行或者超时问题
Swagger的简单介绍,集成,以及如何在生产环境中关闭swagger,在测试和开发环境中自动打开
At age 94, pioneer Turing award winner, computational complexity theory, Juris Hartmanis, died
Redis 常用命令和基本数据结构(数据类型)
Facebook社媒营销的5大技巧,迅速提高独立站转化率!
第06章 索引的数据结构【2.索引及调优篇】【MySQL高级】
SimpleChannelInboundHandler使用总结
Gradle系列——Gradle插件(基于Gradle文档7.5)day3-2
optional
自然语言处理 文本预处理(上)(分词、词性标注、命名实体识别等)
59:第五章:开发admin管理服务:12:MongoDB的使用场景;(非核心数据,数据量比较大的非核心数据,人脸照片等隐私的小文件;)
mysql 注入
海缆探测仪TSS350(二)
实例031:字母识词
File upload vulnerability (2)
docker 安装mysql
分离轴定理SAT凸多边形精确碰撞检测