手把手教你怎么如何使用分类(category)
前言
- 本来是不想写这一篇的,因为自己研究也不到位,只会一些对于分类(category)的基本理解,肯定是不如参考文章这一篇写得好。
- 但是呢,突然看到我旁边某位什么都懂的同学,在看了和我一样的参考文章后,依然是建了个四不像的文件
- 虽然我估计这么笨的人也少有,但我还是写一篇博客介绍下简单直白的如何新建一个分类(category)吧
- iOS分类(category),类扩展(extension)—史上最全攻略
- 如果是想了解到底如何实现分类(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 @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 类方法]就行了,轻松加愉快
- 好吧,我也不懂怎么会有人学不会这个
- 如果想看下怎么写比较好,看第三方库就行,基本里面都会用到这个
推荐阅读
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 七年之痒之后
- 开花店的前景怎么样()
- 私通和背叛,他怎么看(——晨读小记)
- 有句话忍很久了,女生要求买房怎么就物质了()
- 在线版的迅捷思维导图怎么操作()
- 昨晚做春梦了吗(教给你怎么做最厉害的!梦里还有维多利亚的天使)
- 年轻人对未来迷茫时该怎么办()
- FBI怎么和恐怖分子谈判
- 现役联盟前十怎么排(詹姆斯榜首无悬念!杜兰特库里位置不确定!)