博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Objective-c 基础 - 2.8] category分类/类别/类目
阅读量:4350 次
发布时间:2019-06-07

本文共 702 字,大约阅读时间需要 2 分钟。

A.给某个类扩充方法(不改变原来的类)
例如,给类Person加上名为Simon的category,加上一个-study方法
使用()注明
Person+Simon.h
1 @interface Person (Simon) 2 - (void) study; 3 @end 4   5 Person+Simon.m 6 @implementation Person (Simon) 7 - (void) study 8 { 9     NSLog(@"学习----");10 }11 @end

 

 
使用:
1 #import 
2 #import "Person.h" 3 #import "Person+Simon.h" 4 5 int main(int argc, const char * argv[]) { 6 @autoreleasepool { 7 Person *p = [[Person alloc] init]; 8 [p study]; 9 }10 return 0;11 }12

 

!!注意:
1.只能增加方法,不能增加成员变量;
2.分类方法可以访问原来的成员变量;
3.分类和原类存在同名方法的时候,分类的方法优先级比较高,会覆盖原类的同名方法;
4.多个分类存在同名方法的时候,调用决定于编译顺序,调用最后编译的(编译顺序可以在项目设置的“Buid Phases”中修改);
 

 

 
 

转载于:https://www.cnblogs.com/wvqusrtg/p/4501604.html

你可能感兴趣的文章
韩版可爱小碎花创意家居收纳挂袋
查看>>
计算机基础之硬件
查看>>
python操作mysql ------- SqlAchemy正传
查看>>
如何使用 JSP JSTL 显示/制作树(tree) 菜单
查看>>
12.5号
查看>>
lintcode-medium-Binary Tree Zigzag Level Order Traversal
查看>>
logrotate日志切割
查看>>
POJ-3253 Fence Repair 贪心
查看>>
Arraylist集合遍历输出
查看>>
java中的选择结构与循环结构
查看>>
无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login”
查看>>
[cocos2dx] lua注册回调到c++
查看>>
(treap)[bzoj3224][洛谷3369][cogs1829]Tyvj 1728 普通平衡树
查看>>
Linux下常用的shell命令记录
查看>>
HTTP 常用 Header 讲解
查看>>
linux分割字符串操作
查看>>
PHP学习2
查看>>
多实例Mysql配置
查看>>
CentOS6.5桌面版安装VirtualBox提示错误/etc/init.d/vboxdrv setup
查看>>
KOA中间件源码解析
查看>>