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基本概念的更多相关文章

  1. 分类Category的概念和使用流程

    一.了解 1.分类的概念: category:类别.类目.分类 2.分类的作用: 将1个类中不同方法分到多个不同的文件中存储 可以在不修改原来类的基础上,为这个类扩充一些方法 注意: 分类中只能增加方 ...

  2. category的概念

    category 的意思应该是为基类添加一个子类的声明方法 可以在创建基类对象的时候访问到子类的对象方法 category 可以说是 类的扩展 也可以说是 将类分成了几个模块 需要注意的是 在cate ...

  3. OC分类(Category)

    Category 分类 ,又称为类别.类目 概念 Category有多种翻译:分类.类别.类目(一般叫分类的多) Category式OC特有的语法,其他语言没有的语法(类似于C#语言中的"扩 ...

  4. Objective-C基础语法快速入门

    Objective-C基础语法快速入门 2010-11-04 16:32 折酷吧 zheku8 字号:T | T 假如我们对面向对象的思维已经C语言都很熟悉的话,对于我们学习Objective-C将会 ...

  5. OC基础(18)

    Category基本概念 Category注意事项 *:first-child { margin-top: 0 !important; } body > *:last-child { margi ...

  6. OC基础笔记目录

    OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象 ...

  7. SQL Server Profiler监控SQL Server性能

    全面掌握SQL Server Profiler 1.       原理与相关概念介绍 SQL Server Profiler,大家已经非常熟悉.常常在性能优化中使用,本文档详细介绍SQL Server ...

  8. 最全面的Android Intent机制讲解

    对于大型软件开发经验较少的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数调用,或者通过库调用接口的方式不太一样.在 Intent 的使用中你看不到直接的函数调用,相对函 ...

  9. (转)log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

随机推荐

  1. Java初学者作业——定义客户类(Customer),客户类的属性包括:姓名、年龄、电话、余额、账号和密码;方法包括:付款。

    返回本章节 返回作业目录 需求说明: 定义客户类(Customer),客户类的属性包括:姓名.年龄.电话.余额.账号和密码:方法包括:付款. 实现思路: 定义 Customer 类,并添加姓名.余额. ...

  2. 美和易思 - JAVA开发&移动互联网 阶段性教学效果检测考试机试试题【题目:维护洗衣店消费项数据】

    一. 语言和环境 1. 实现语言:Java 语言. 2. 环境要求:Eclipse 或 Myeclipse+MySQL. 二. 功能需求 利用 Java Swing 和 JDBC 技术维护洗衣店消费项 ...

  3. [学习笔记] Oracle运算符、连接符、结果去重、范围查询、模糊查询

    运算符 符号 解释 + 加法 - 减法 * 乘法 / 除法,结果是浮点数 = 等于 > 大于 < 小于 <>或者!= 不等于 >= 大于或者等于 <= 小于或者等于 ...

  4. 可观察对象(Observable)

    最简示例: export class AppComponent { title = 'angular-tour-of-heroes'; // Create an Observable that wil ...

  5. 解决ubuntu18.04重启后蓝牙鼠标需要重新配对的问题

    打开bash,运行bluetoothctl命令 # bluetoothctl 列出可用的蓝牙控制器 [bluetooth]# list 选择使用的蓝牙控制器 [bluetooth]# select 0 ...

  6. rocketmq实现延迟队列精确到秒级实现方案2-时间轮和delay-file实现

    上图是通过RocketMQ源码分析一个实现原理方案示意图. 分为两个部分: 消息的写入消息的Schedule 在写入CommitLog之前,如果是延迟消息,按照每10分钟写入delayfile文件,对 ...

  7. Cesium源码剖析---视频投影

    Cesium中的视频投影是指将视频作为一种物体材质,实现在物体上播放视频的效果.这个功能在Cesium早期版本中就支持了,在Code Example中有一个示例.今天就来分析一下其内部实现原理. 1. ...

  8. Hbuilder将移动app或者web项目打包

    1. 直接将项目 npm run build 打包生成dist文件 2.将dist文件放到Hbuilderx或者Hbuilder里面,这个时候你会发现他是w的,需要将其转换为A 点击该dist项目右键 ...

  9. 桥接模式(Bridge模式)

    桥接模式的定义与特点 桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化.它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度.通过上面的讲解,我们能很好 ...

  10. MyCms 自媒体 CMS 系统 v2.7,支持自定义页面

    MyCms 是一款基于Laravel开发的开源免费的自媒体博客CMS系统,助力开发者知识技能变现. MyCms 基于Apache2.0开源协议发布,免费且不限制商业使用,欢迎持续关注我们. V2.7 ...