美文网首页
OC语言的类别(类目)

OC语言的类别(类目)

作者: peal | 来源:发表于2016-02-23 19:54 被阅读610次

一、类别的基本知识

1.概念:Category 类别是OC语言特有的,最大程度体现OC语言的动态性。在很多的情况下,往往是给系统自带的类添加分类,如NSString,因为有的时候,系统类可能并不能满足我们的要求。
2.作用:

(1)为原有类扩展方法。
(2)分散类的实现
(3)私有API

3.与继承的区别

继承是重量级的,继承父类所有的方法和属性,是创建一个新类,改变了原有类的结构。类别是轻量级的,是对原有类的方法的扩充,不改变原有类的内容。

4.创建一个类别

iOS——》Source——》Objective-C File


屏幕快照 2016-02-22 20.28.46.png

选择Class 原来的类 File Type Category 填写File的名字


屏幕快照 2016-02-22 20.29.00.png

二、编程小例

给NSString类增加一个两个类方法

1.获取根目录路径
2.获取Documents文件路径

类别中方法的声明

#import <Foundation/Foundation.h>

@interface NSString (Addition)
//获取根目录路径
+(NSString *)getHomePath;
//获取Documents文件路径
+(NSString *)getDocumentsPath;

@end

类别中方法的实现

#import "NSString+Addtion.h"

@implementation NSString (Addition)
//实现获取根目录方法
+(NSString *)getHomePath{

    return NSHomeDirectory();

}
//实现获取Documents文件路径方法
+(NSString *)getDocumentsPath{

// 给字符串追加上一个字符串
    
    return [NSHomeDirectory()stringByAppendingString:@"/Documents"];

}

@end

类别在ios的模块化开发时特别有用,大神们也写了不少值得膜拜的类别。Categories是给你得不到源码的classes增加功能的一种方法。这个页面收集一些相关的Category,并且持续更新,你可以订阅关注。作者是Fille Åström,是@ IMGNRY的联合创始人和开发者。

链接:http://www.cocoachina.com/ios/20140212/7808.html

相关文章

  • OC语言的类别(类目)

    一、类别的基本知识 1.概念:Category 类别是OC语言特有的,最大程度体现OC语言的动态性。在很多的情况下...

  • iOS面试题-常规概念

    简要叙述OC语言的特点 类别的作用?继承、类别和扩展在实现中有何区别? OC中类变量的@protected,@pr...

  • iOS类目的简单介绍

    1.什么是类目(类别) 类别( category )是 Objective-C 语言的新特性,为现有的类添加新方法...

  • iOS基础知识 (二)

    一、类别 OC不像C++等高级语言能直接继承多个类,不过OC可以使用类别和协议来实现多继承。 1、类别加载时机 在...

  • 2021年最新 iOS面试高级知识

    一、类别 OC不像C++等高级语言能直接继承多个类,不过OC可以使用类别和协议来实现多继承。 1、类别加载时机 在...

  • Category

    一、概述 Category是Objective-C 2.0之后添加的语言特性,Category又叫分类、类别、类目...

  • iOS 开发 category的理解

    一、概述 Category是Objective-C 2.0之后添加的语言特性,Category又叫分类、类别、类目...

  • Runtime源码 Category(分类)

    一、概述 Category又叫分类,类别,类目,作为Objective-C 2.0之后添加的语言特性,Catego...

  • iOS中的Category类别

    问题: OC中类别(Category)是什么?Category类别是Objective-C语言中提供的一个灵活的类...

  • category 笔记

    1.category 网上很多种叫法,分类/类别/类目,它是OC的特有语法,作用是在不改变原来类的基础上为这个类扩...

网友评论

      本文标题:OC语言的类别(类目)

      本文链接:https://www.haomeiwen.com/subject/yovbkttx.html