当前位置:网站首页>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
实例
边栏推荐
- Facebook社媒营销的5大技巧,迅速提高独立站转化率!
- Analysis of GCC compiler technology
- Revitalize rural circular economy and digital chain to link agricultural "ecological chain"
- Pagoda+FastAdmin 404 Not Found
- 21 days learning challenge 】 【 sequential search
- (Notes are not completed) [Graph Theory] Traversal of graphs
- Vscode connect to remote server "Acquiring the lock on the/home / ~ 'problem
- 2022.07.31(LC_6132_使数组中所有元素都等于零)
- 获取间隔的日期列表工具类
- FaceBook社媒营销高效转化技巧分享
猜你喜欢
【请教】SQL语句按列1去重来计算列2之和
HCIP day one
2020美亚团队赛复盘
PWA 踩坑 - 第一次加载页面后无法获取CacheStorage某些资源
交换部分 VLAN
[Dataset][VOC] Eyewear dataset 6000 in VOC format
See the picture to understand | How to choose sales indicators to measure the health of business growth
optional
自然语言处理 文本预处理(下)(张量表示、文本数据分析、文本特征处理等)
(Notes are not completed) [Graph Theory] Traversal of graphs
随机推荐
条件构造器~wapper
Neo4j 中文开发者月刊 - 202207期
August 2022 plan, focusing on ue4 video tutorials
【暑期每日一题】洛谷 P3156 【深基15.例1】询问学号
实例032:反向输出II
跨阻放大器
2020美亚团队赛复盘
电商库存系统的防超卖和高并发扣减方案
SQL server 2014 怎么一次性导出多个查询结果?
张驰课堂:六西格玛培训工具——箱线图
【机器学习】实验1布置:基于决策树的英雄联盟游戏胜负预测
apt & apt-get命令
sql 远程访问链接服务器
交换网络----三种生成树协议
自然语言处理 文本预处理(下)(张量表示、文本数据分析、文本特征处理等)
图腾柱和推挽电路介绍
请教一下,Flink SQL ,JDBC sink 入 mysql 库,想要搞一个自增主键,要怎么写
飞桨paddle技术点整理
Pagoda+FastAdmin 404 Not Found
每周推荐短视频:为什么产品开发需要数字化?如何做到数字化?