博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CategoryAndExtension(一)
阅读量:5154 次
发布时间:2019-06-13

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

<!doctype html>

import <Foundation/Foundation.h>

CategoryAndExtension(一)

做iOS开发也这么久了,对category和Extension的理解一直模棱两可,最近突然有点执着了,觉得一定要把一个东西搞清楚,看了下官方的文档ProgrammingWithObjectiveC,记下自己的理解吧。

Category

Categories Add Methods to Existing Classes

category可以在不知源码的情况 下对已经存在的class(自定义的或者系统的)添加自己的Methods.

**********************XYZPerson.h文件******************#import 
@interface XYZPerson : NSObject@end**********************XYZPerson.m文件******************#import "XYZPerson.h"@implementation XYZPerson@end

新建一个class,类型选择Category,Category on选择XYZPerson类,名称就随便写个Methods1,并添加个方法timeToRaiseWages,.h和.m文件如下:

#import "XYZPerson.h"@interface XYZPerson (Methods1)-(void)timeToRaiseWages;@end//category都是带有+号的#import "XYZPerson+Methods1.h"@implementation XYZPerson (Methods1)-(void)timeToRaiseWages{    NSLog(@"Boss,It's time to raise wages~");}@end

接下来在main函数中导入头文件就可以使用了。。

#import 
#import "XYZPerson.h"#import "XYZPerson+Methods1.h"int main(int argc, const char * argv[]){ @autoreleasepool { XYZPerson *p1 = [[XYZPerson alloc] init]; [p1 timeToRaiseWages]; } return 0;}

Run,老板该加薪了~~~Catetory挺简单吧~接下来记下使用Category的注意事项

  • 使用category添加的方法使用之前要导入头文件,要不然会报错的。

  • 可以分散在多个文件实现一个复杂的类,就是多写几个 category,可以一人写一个methods,这样人多效率就高了。

  • category只能加方法,不能加属性和实例化变量。

  • 给系统的class添加category的时候要注意命名,最好是加上前缀,冲突了就悲剧了。

突然发觉一件事,明白一件事,然后再把讲清楚是一件很不容易的事。Markdown 写东西真的很好玩。天气很热啊,extension下次再续,扛不住了。

转载于:https://www.cnblogs.com/starer/p/3789689.html

你可能感兴趣的文章
ObjectiveC基础教程(第2版)
查看>>
centos 引导盘
查看>>
Notes of Daily Scrum Meeting(12.8)
查看>>
Apriori算法
查看>>
onlevelwasloaded的调用时机
查看>>
求出斐波那契数组
查看>>
Vue.js 基础学习之组件通信
查看>>
lr_start_transaction/lr_end_transaction事物组合
查看>>
每天一个Linux命令 - 【chkconfig】
查看>>
△UVA10106 - Product(大数乘法)
查看>>
golang (7) 文件操作
查看>>
关于 Object.defineProperty()
查看>>
[转] Maven 从命令行获取项目的版本号
查看>>
CodeIgniter学习笔记(四)——CI超级对象中的load装载器
查看>>
.NET CLR基本术语
查看>>
Java Development Environment in Linux: Install and Configure Oracle
查看>>
ubuntu的home目录下,Desktop等目录消失不见
查看>>
建立,查询二叉树 hdu 5444
查看>>
[Spring框架]Spring 事务管理基础入门总结.
查看>>
2017.3.24上午
查看>>