美文网首页
分类和扩展的区别

分类和扩展的区别

作者: 张俊凯 | 来源:发表于2018-06-28 16:34 被阅读9次

分类 category

给一个系统公用的类添加额外的方法时,使用category,生成NSObject+addition.h 和 NSObject+addition.m,在.h文件里声明方法,在.m文件里实现方法,括号里就是扩展的名字

#import <Foundation/Foundation.h>

@interface NSObject (addition)

@end


#import "NSObject+addition.h"

@implementation NSObject (addition)

@end

在分类中的方法如果和主类相同,会执行分类的方法,分类方法的优先级高。

扩展 extension

extension一般存在于一个自定义的类,需要添加私有属性的时候用到,存在于.m文件中,格式是

#import "ViewController.h"
@interface ViewController ()


@end

@implementation ViewController


@end

其中 @interface 部分就叫做extension,括号里为空,extension的用途就是一个类需要添加额外的属性,但是又不让外界知道的时候使用。
完。

参考链接:https://stackoverflow.com/questions/3499704/difference-between-category-and-class-extension

相关文章

  • iOS基础题

    一、category 和 extension 的区别?(分类和扩展的区别) 1,分类有名字,类扩展没有名字,是一种...

  • iOS知识基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • IOS知识基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • 1. iOS面试题基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • iOS面试题-基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • iOS面试题--基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • 一些关键字的使用__weak,__block

    1、category 和 extension 的区别分类有名字,类扩展没有分类名字,是一种特殊的分类分类只能扩展方...

  • 分类和扩展的区别

    分类 category 给一个系统公用的类添加额外的方法时,使用category,生成NSObject+addit...

  • 分类和扩展的区别

    分类只能扩展方法,不能扩展属性和实例变量,如果包含成员变量会直接报错! 如果分类中声明了一个属性,那么分类中只会生...

  • 分类和扩展的区别

    1.分类:在不修改一个类的情况下给类增加方法,即在不知道.m的情况下给只能增加方法,但不能增加成员变量,可以添加属...

网友评论

      本文标题:分类和扩展的区别

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