Category基本概念
1.什么是Category
Category有很多种翻译: 分类 \ 类别 \ 类目 (一般叫分类)
Category是OC特有的语法, 其他语言没有的语法
Category的作用
- 可以在不修改原来类的基础上, 为这个类扩充一些方法
- 一个庞大的类可以分模块开发
- 一个庞大的类可以由多个人来编写,更有利于团队合作
2.Category的格式
在.h文件中声明类别
- 1)新添加的方法必须写在 @interface 与 @end之间
- 2)ClassName 现有类的类名(要为哪个类扩展方法)
- 3)CategoryName 待声明的类别名称
- 4)NewMethod 新添加的方法
@interface ClassName (CategoryName)
NewMethod; //在类别中添加方法
//不允许在类别中添加变量
@end
注意: 1)不允许在声明类别的时候定义变量
- 在.m文件中实现类别:
1)新方法的实现必须写在@ implementation与@end之间
2)ClassName 现有类的类名
3)CategoryName 待声明的类别名称
4)NewMethod 新添加的方法的实现
@implementation ClassName(CategoryName) NewMethod
... ...
@end
- 使用Xcode创建分类


Category基本概念的更多相关文章
- 分类Category的概念和使用流程
一.了解 1.分类的概念: category:类别.类目.分类 2.分类的作用: 将1个类中不同方法分到多个不同的文件中存储 可以在不修改原来类的基础上,为这个类扩充一些方法 注意: 分类中只能增加方 ...
- category的概念
category 的意思应该是为基类添加一个子类的声明方法 可以在创建基类对象的时候访问到子类的对象方法 category 可以说是 类的扩展 也可以说是 将类分成了几个模块 需要注意的是 在cate ...
- OC分类(Category)
Category 分类 ,又称为类别.类目 概念 Category有多种翻译:分类.类别.类目(一般叫分类的多) Category式OC特有的语法,其他语言没有的语法(类似于C#语言中的"扩 ...
- Objective-C基础语法快速入门
Objective-C基础语法快速入门 2010-11-04 16:32 折酷吧 zheku8 字号:T | T 假如我们对面向对象的思维已经C语言都很熟悉的话,对于我们学习Objective-C将会 ...
- OC基础(18)
Category基本概念 Category注意事项 *:first-child { margin-top: 0 !important; } body > *:last-child { margi ...
- OC基础笔记目录
OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象 ...
- SQL Server Profiler监控SQL Server性能
全面掌握SQL Server Profiler 1. 原理与相关概念介绍 SQL Server Profiler,大家已经非常熟悉.常常在性能优化中使用,本文档详细介绍SQL Server ...
- 最全面的Android Intent机制讲解
对于大型软件开发经验较少的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数调用,或者通过库调用接口的方式不太一样.在 Intent 的使用中你看不到直接的函数调用,相对函 ...
- (转)log4j(六)——log4j.properties简单配置样例说明
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...
随机推荐
- Java初学者作业——定义客户类(Customer),客户类的属性包括:姓名、年龄、电话、余额、账号和密码;方法包括:付款。
返回本章节 返回作业目录 需求说明: 定义客户类(Customer),客户类的属性包括:姓名.年龄.电话.余额.账号和密码:方法包括:付款. 实现思路: 定义 Customer 类,并添加姓名.余额. ...
- 美和易思 - JAVA开发&移动互联网 阶段性教学效果检测考试机试试题【题目:维护洗衣店消费项数据】
一. 语言和环境 1. 实现语言:Java 语言. 2. 环境要求:Eclipse 或 Myeclipse+MySQL. 二. 功能需求 利用 Java Swing 和 JDBC 技术维护洗衣店消费项 ...
- [学习笔记] Oracle运算符、连接符、结果去重、范围查询、模糊查询
运算符 符号 解释 + 加法 - 减法 * 乘法 / 除法,结果是浮点数 = 等于 > 大于 < 小于 <>或者!= 不等于 >= 大于或者等于 <= 小于或者等于 ...
- 可观察对象(Observable)
最简示例: export class AppComponent { title = 'angular-tour-of-heroes'; // Create an Observable that wil ...
- 解决ubuntu18.04重启后蓝牙鼠标需要重新配对的问题
打开bash,运行bluetoothctl命令 # bluetoothctl 列出可用的蓝牙控制器 [bluetooth]# list 选择使用的蓝牙控制器 [bluetooth]# select 0 ...
- rocketmq实现延迟队列精确到秒级实现方案2-时间轮和delay-file实现
上图是通过RocketMQ源码分析一个实现原理方案示意图. 分为两个部分: 消息的写入消息的Schedule 在写入CommitLog之前,如果是延迟消息,按照每10分钟写入delayfile文件,对 ...
- Cesium源码剖析---视频投影
Cesium中的视频投影是指将视频作为一种物体材质,实现在物体上播放视频的效果.这个功能在Cesium早期版本中就支持了,在Code Example中有一个示例.今天就来分析一下其内部实现原理. 1. ...
- Hbuilder将移动app或者web项目打包
1. 直接将项目 npm run build 打包生成dist文件 2.将dist文件放到Hbuilderx或者Hbuilder里面,这个时候你会发现他是w的,需要将其转换为A 点击该dist项目右键 ...
- 桥接模式(Bridge模式)
桥接模式的定义与特点 桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化.它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度.通过上面的讲解,我们能很好 ...
- MyCms 自媒体 CMS 系统 v2.7,支持自定义页面
MyCms 是一款基于Laravel开发的开源免费的自媒体博客CMS系统,助力开发者知识技能变现. MyCms 基于Apache2.0开源协议发布,免费且不限制商业使用,欢迎持续关注我们. V2.7 ...