美文网首页iOS
category 解决单个类代码过多的问题?

category 解决单个类代码过多的问题?

作者: wangyongyue | 来源:发表于2018-07-30 11:39 被阅读0次

我们都知道 category 可以给某个已有的类添加方法,也可以添加属性,只不过@property只会生成setter和getter的声明,不会生成setter和getter的实现以及成员变量。当然有了runtime就可以为所欲我了。
这些都是我们们常用的功能了,在这里我想分享一个不一样的小技巧给大家,如有意见请多指教。

主要是在维护项目的时候,某个类的方法实现过多,.m 文件过于庞大,添加新方法的时候要拉到最后,可是2000行了啊。我该怎么办,是谁留下告诉我。
方法总比困难多,想想熬熬夜总会有办法的。
上天不会辜负勤奋的人的,来了。

大家都知道我们在 .h 中声明方法 .m 中实现方法,随着项目慢慢变大,.m 越来越大,所以我们用 category 来解决问题。但是当新人到某个类找方法的时候 .h 找不到,没有自己实现一个,我不想在想下去了啊。

所以我是这样做的,在 .h 声明方法,但是我在 category.m文件中实现,看代码
People 类 .h

@interface People : NSObject
- (void)make;

@end

People 的category 的.m文件
People+cat.m

@implementation People (cat)
- (void)make{
    NSLog(@"make");
}


@end

不知道你们习惯不习惯这种写法,慢慢体会吧。
写完会报警告:Category is implementing a method which will also be implemented by its primary class。
苹果不希望在category 中重写类方法,我也不推荐。但是只是警告,也没有影响类的结构(影响类的结构的方法是不可以的),所以用吧。
想要去掉警告的话: 在target的 build settings下 搜索other warning flags 然后给其添加 -Wno-objc-protocol-method-implementation。 这样只是不显示警告而已。
共勉。

相关文章

  • category 解决单个类代码过多的问题?

    我们都知道 category 可以给某个已有的类添加方法,也可以添加属性,只不过@property只会生成sett...

  • 笔记02

    Category的用途: 1.类的拆解:根据不同功能将代码放入不同分类中(模拟多继承),减少单个类的体积;2.公开...

  • iOS小知识点02

    iOS分类(Category) Category的作用:为没有源代码的类添加方法。使用Category需要注意的点...

  • 06-06、面向对象的三大特性:继承的基本概念

    继承的好处 解决问题: 重复代码太多可以利用继承来解决当前重复代码太多的问题只要A类继承了B类, 那么A类就拥有了...

  • Cateogry底层学习

    一、概述 Category,也就是分类,能够在不修改原类代码的基础上,为类增加一些方法和属性。 Category的...

  • 基类解决代码重复问题

    场景:很多代码又一段公共处理流程,处理的逻辑用的字段是相同的,但是不同代码块入参有区别解决:1、提取基类dto 2...

  • 解决 C# Winform 窗体打开时闪烁问题

    这个问题属于必须解决的问题,而且界面的控件越多,闪烁也越多,试过多种解决办法效果都不理想。 解决办法:把此段代码加...

  • iOS底层(三)_Category原理

    面试题问题1:Category的使用场合是什么?答复:为某个类拓展方法,分模块 问题2:Category的实现原理...

  • 如何解决代码中if…else 过多的问题

    前言 if...else 是所有高级编程语言都有的必备功能。但现实中的代码往往存在着过多的 if...else。虽...

  • 利用枚举类解决过多if-else问题

    实际开发过程中经常遇到很多的条件判断,一层一层,对于有强迫症的我来说,很不习惯本文通过枚举来解决,废话不多说,代码...

网友评论

    本文标题:category 解决单个类代码过多的问题?

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