iOS开发随笔

一些架构小想法。
熊猫直播iPad 端有很多固定的侧边栏,比如刚进入直播间那个UISplitViewController

iPad.jpeg

分为左右两个,左边是首页、娱乐、订阅、比赛、个人中心、聊天、搜索、设置 tab. 这几页固定写死的。

现在的做法的是这样,首先一个 UISplitViewController的子类,然后 有个类似 leftController 和 rightController的东东。

leftController呢,有三个button ,一个TableView,如上图,那个左边那一排东东被封装起来,然后和leftViewController 使用delegate交互,然后,leftViewControler 和 UISplitViewController的子类通过delegate交互。好了,好了。太复杂了。

分割线
改进一下,使用
一个tableView ,每个tableview的item从配置文件读取。比如:model定义

@interface PTVMasterModel : NSObject

@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *imageUrl;
@property (nonatomic, copy) NSString *selectedImageUrl;
@property (nonatomic, copy) NSString *viewCotrollerName;
@property (nonotomic, copy) NSString *modal;
@end

稍微解释下。viewCotrollerName ,点击item对应要打开的viewController, modal字段表明是push还是其他。。

然后全局加一个json 文件就是这些model的信息。比如:

{
"title" : "首页",
"viewCotrollerName", "mainViewController",

}

balabala^

然后leftViewController中初始化model列表从json文件中。ok啦啦啦,现在可以删除掉那么多代理方法和那么多类了么?

我已经如此应用过的界面还有熊猫直播主播端的更多界面。。

如下:

WechatIMG30.png

右边一个collectionView,每个item都从配置文件读取。更第一个版本比起来,代码量少了很多。阅读代码也清晰了。

so,能用配置一定要用配置加runtime结合,对这种固定模块的功能,很有优势

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1设置图片的拉伸点 _bgImgView.image = [_bgImgView.image stretchabl...
    croire_cfg阅读 244评论 0 0
  • iOS开发知识体系 <一> app如何跳转到评论页面 获取url :只需要换成你自己的appID ,就可以实现跳转...
    麦子_KB阅读 228评论 0 2
  • 1,后台返回图片太大了. 用collectionView, 后台返回图片太大, 滑动就会有点卡 内存还会有点大以下...
    Touchs阅读 1,231评论 2 7
  • 1. 自定制的cell在复用后autoLayout约束失效 解决办法: 确定约束没问题后, 在- (UITabl...
    田英俊丶阅读 211评论 0 0
  • 前言 在iOS开发过程中经常会使用到用户位置信息,iOS系统封装了定位所要的类库 使用方法: 更加详细的信息在这里...
    BBH_Life阅读 573评论 0 4