美文网首页
iOS中的Category和Extension

iOS中的Category和Extension

作者: S舒服的爸爸 | 来源:发表于2017-11-01 18:54 被阅读0次

    1.Category(分类,类别)

    作用:

    1)给类增加方法,在不修改原来类的基础上,但是不能增加属性;

    2)如果一定要在分类中添加成员变量可以通过getter,setter来实现;

    3)如果和类原有的方法一样,会覆盖原有的方法;

    用途:

    1)主要用来给系统自带的类扩展方法;

    例子:

    1)创建一个分类

    UIView+Frame.h

    @interface UIView(Frame)

    -(void)setCenterX:(CGFloat )x andY:(CGFloat )y;

    @property(nonatomic,assign) CGFloat centerX;

    @property(nonatomic,assign) CGFloat centerY;

    @end

    UIView+Frame.m

    @implementation UIView (Frame)

    - (void)setCenterX:(CGFloat)x andY:(CGFloat)y {

            self.center = CGPointMake(x,y);

    }

    -(CGFloat)centerX {

            return self.frame.origin.x;

    }

    -(void)setCenterX:(CGFloat)centerX {

           self.center = CGPointMake(centerX,self.center.y);

    }

    -(CGFloat)centerY {

            return self.frame.origin.y;

    }

    -(void)setCenterY:(CGFloat)centerY {

            self.center = CGPointMake(self.center.x,centerY);

    }

    2.Extension(类扩展)

    作用

    1)既可以给一个类添加属性又可以给一个类添加方法(添加的方法必须要实现);

    2)在.m文件中实现;

    例子

    @interface UIView ()

    @property(nonatomic,assgin) BOOL isLoading;

    -(void)setCenterX:(CGFloat )x andY:(CGFloat )y;

    @end

    @implemention UIView

    @end

    相关文章

      网友评论

          本文标题:iOS中的Category和Extension

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