手把手教你怎么如何使用分类(category)

版权声明:欢迎指出错误,作者极懒,常常懒得修改 https://blog.csdn.net/KevinAshen/article/details/84454704

前言

  • 本来是不想写这一篇的,因为自己研究也不到位,只会一些对于分类(category)的基本理解,肯定是不如参考文章这一篇写得好。
  • 但是呢,突然看到我旁边某位什么都懂的同学,在看了和我一样的参考文章后,依然是建了个四不像的文件
  • 虽然我估计这么笨的人也少有,但我还是写一篇博客介绍下简单直白的如何新建一个分类(category)吧

参考文章

分类(category)的用处和存在意义

  • 我们知道,如果想实现自定义label的话,需要新建一个继承于UILabel的类,并在创建UILabel时,直接创建新建的这个Label类
  • 我们可以在这个新的Label类里增加成员变量,方法等等
  • 而分类(category)可以理解为弱化版的新建类,在这个类里只能增加方法,而不能添加成员变量
  • 而他的好处是,只要import了该分类(category),只要是UILabel(label是用来举例的,任何UI控件都一个道理)都可以使用其中的方法,而不需要在单独创建新的label了
  • 而这在面对想多人合作或者比较复杂的项目时,显然还是非常方便好用的

详细步骤

  • 首先,新建一个Objective-C File,选择Category,名字取为UILabel+Category(你自定义的Category名,下文就以Category替代这个名字,比如可以取名叫做UILabel+LabelHeight)
//
//  UILabel+LabelHeight.h
//  zhihu-daily-ImitationDemo
//
//  Created by mac on 2018/11/23.
//  Copyright © 2018 姜凯文. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UILabel(LabelHeight)


@end


//
//  UILabel+LabelHeight.m
//  zhihu-daily-ImitationDemo
//
//  Created by mac on 2018/11/23.
//  Copyright © 2018 姜凯文. All rights reserved.
//

#import "UILabel+LabelHeight.h"

@implementation UILabel(LabelHeight)


/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

@end

  • 好了 这样就OK了 想加什么方法就加进去吧
  • 比如加了类方法,调用时只要[UILabel 类方法]就行了,轻松加愉快
  • 好吧,我也不懂怎么会有人学不会这个
  • 如果想看下怎么写比较好,看第三方库就行,基本里面都会用到这个

猜你喜欢

转载自blog.csdn.net/KevinAshen/article/details/84454704