美文网首页iOS开发专题
高仿映客之二怎样打造继承基类

高仿映客之二怎样打造继承基类

作者: 摸着石头过河_崖边树 | 来源:发表于2017-05-04 17:22 被阅读114次

不管是Model/View/ViewController,这些类都会经常用到一种继承方式,继承基类是我们在创建类的时候最常用的方式,但是你真的知道他是怎么用的吗?你真的知道怎样合理的利用OC的这个继承特性吗?

映客源码下载地址:高仿映客项目源码
映客系列详细解说目录:映客系列详细解说目录

自定义基类控制器###

下面老夫就结合高仿映客项目谈谈怎样制作我们项目需要的基类。首先想想我们为什么要继承基类,简单的来说是我们继承基类之后子类就会拥有父类所有的方法、属性、逻辑等,高仿映客中考虑到我们常用UINavigationController、UITabBarController、UIViewController,所以本项目为了扩展方便,都不是直接使用这些类,而是使用它们的子类

控制器基类.png控制器基类.png

同时我们考虑到控制器的导航条有时候会加一些额外的东西,所以一般情况下我们都要自定义,但是我建议自定义方法是 : 隐藏系统导航条,增加自定义的导航条,这样不仅具备侧滑返回的手势效果,还实现了导航条的自定义


自定义控制器结构.png自定义控制器结构.png

在自定义的控制器BaseVC中可以暴露子类方法

 /**
   *  添加左按钮事件响应
   *
   *  @param selector
   */
- (void)addLeftButtonSelector:(SEL)selector;
/**
  *  添加右按钮事件响应
  *
  *  @param selector
  */
- (void)addRightButtonSelector:(SEL)selector;

自定义基类模型###

我们新建一个模型类,默认都是继承于NSObject,但是一般模型都会和数据解析产生关联,所以模型类根据功能又可以分为基础模型类、数据管理模型基类、router路由器管理基类、数据存储模型基类


model基类.pngmodel基类.png

基础模型类功能:

/**
 *  模型转化为字典
 */
- (NSDictionary *)modelToDictionary;
 /**
  *  字典转化模型 (属性值一一对应)
  */
+ (NSDictionary *)JSONKeyPathsByPropertyKey;

数据管理模型基类功能:
单例实例化管理类,并且可以增加代理监听

 /**
  *  增加代理监听对象
  */
- (void)addDelegateObject:(id)delegate;
/**
 *  移除代理监听对象
 */
- (void)removeDelegateObject:(id)delegate;
/**
 *  管理基类,代理回调
 *
 *  @param aSelector         代理回调方法
 *  @param anArgument        参数1
 *  @param anotherAnArgument 参数2
 */
- (void)delegateDataMangerCallBackSelector:(SEL)aSelector withObject:(id)anArgument withAnotherObject:(id)anotherAnArgument;

router路由器管理基类功能:
实现页面的跳转

数据存储模型基类功能:继承于基类模型类
并增加数据库存储功能

 /**
  *  保存模型到数据库
  */
- (void)sql_saveToDataBase;
/**
 *  删除模型到数据库
 */
- (void)sql_deleteToDataBase;
/**
 *  更新模型到数据库
 */
- (void)sql_updateToDataBase;

自定义基类View###

UI层面的基类就不做过多的介绍比较简单。

更多高仿映客项目解说:
映客源码下载地址:高仿映客项目源码
映客系列详细解说目录:映客系列详细解说目录

最后赠言###

我们团队一直想做一个IT技术资料共享平台,希望能帮助更多的朋友了解和学习IT技术,我们不仅提供学习视频、资料共享、而且还提供项目资源、小功能实现demo并定期推送IT行业资讯等,如果您有什么好的项目也可以发布在我们的平台,欢迎您的加入。

相关文章

  • 高仿映客之二怎样打造继承基类

    不管是Model/View/ViewController,这些类都会经常用到一种继承方式,继承基类是我们在创建类的...

  • Swift 自定义Tabbar

    仿映客tabbar 创建一个继承自UIView的自定义类 CustomTabBar.swift 创建继承自UITa...

  • 高仿映客

    项目地址520Linkee:GrayJIAXU/520Linkee 给没架设服务器的朋友来一套福利:备用服务器地址...

  • 高仿映客

    项目地址520Linkee:GrayJIAXU/520Linkee 给没架设服务器的朋友来一套福利:备用服务器地址...

  • 高仿映客之七视频播放的点赞动画和弹幕文字

    前言#### 本文是高仿映客项目的续集篇,如果想了解高仿映客项目的更多详细资料可以点击以下链接:映客源码下载地址:...

  • 高仿映客(iOS)

    下载地址: 高仿映客 开发工具:Xcode8 真机上运行,模拟器会报错 开发语言:Objective-CSDK...

  • swift 4.0 GitHub 项目

    高仿映客直播 https://github.com/NorthDogLi/swift4.0_NDYKLiving

  • 高仿项目之高仿映客项目

    前言#### 映客这个App我是从2016年初的时候就开始写,但是中间经历的很多波折,同时我的空闲时间比较少,就导...

  • C++——类层次结构

    多重继承 多重继承的定义:有至少两个基类 多个基类拥有同名的函数: 基类的重复继承:

  • 继承

    继承 继承的基本概念和语法 子类继承基类,基类派生子类,子类IsA基类。 class 子类名 : 继承方式描述符1...

网友评论

    本文标题:高仿映客之二怎样打造继承基类

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