好文档 - 专业文书写作范文服务资料分享网站

IOS框架文档V1.1

天下 分享 时间: 加入收藏 我要投稿 点赞

IOS框架文档

总结整理下一个快速开发MVVM框架(抛砖引玉),主要用于分离控制器中的代码,降低代码耦合程度,可以根据自己使用习惯调整代码。

一、架构结构

模块采用MVC 方法,如有复杂逻辑可采用MVVM模式处理

二、三方库

(1)、AFNetworking 网络请求库 (2)、FMDB 数据库

(3)、MJExtension 模型转换

(4)、NetHttpLog 网络请求日志 (5)、SDWebImage 图片加载库 (6)、SGAdvertScrollView 滚动广告库 (7)、IQKeyboardManager 键盘管理 (8)、WRNavigationBar 导航管理 (9)、BRPickerView 日期选择器 (10)、UITableView-NXEmptyView 表格无数据库 (11)、TZImagePickerController 图片选择器 (12)、NetHttpLog 网络请求日志 (13)、SDCycleScrollView 轮播图库 (14)、YNPageScrollMenuView Page滚动视图tab 标题 (15)、SSZipArchive ZIP解压缩

(16)、MQTTClient 物联网通信协议

inhibit_all_warnings! 去掉警告(注意是去掉一些,不是所有)

三、编码规范

(一) 文件命名规范

1、视图控制器命名:以VC+模块+子模块 例:VCHome VCHomeCategory 2、UITableViewCell:以Cell+模块 例:CellHome CellHomeCategory 3、UITableView中Section:以Section+模块 例:SectionHome SectionHomeCategory 4、UIView :以View+模块 例:ViewHome ViewHomeCategory

(二) 属性命名规范

1、UILabel 以lb+名称 例:lbName lbDesc 2、UIView 以v+名称 例:vLine vBg 3、UIImageView 以iv+名称 例:ivAvatar ivIcon 4、UITextField 以tf+名称 例:tfText tfName 5、UITextView 以tv+名称 例:tvDesc tvRemark 6、UIButton 以btn+名称 例:btnSubmit btnCancel

(三) 统一名称

1、视图VC中的UITableView 以table名称统一 2、视图VC中的UITableView数据数组 dataSource 3、视图VC中的UICollectionView 以collView名称统一

(四) 统一方法

1、 updateData方法 用于所有view 写测试数据时调用

2、 updateData:(NSDictionary*)data方法 用于所有view 真实数据更新调用

3、 calHeight方法 用于返回view 自定义高度 4、 initMain 方法 用于VC初始化主数据等工作

(五) VC控制器编码规范 1、 Events 2、 Delegate 3、 Getter Setter 例:

VCHome.m

#pragma mark – Events

- }

(void) initMain{

#pragma mark – UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView }

#pragma mark - Getter Setter)tableView{ - (UITableView *)table

(六) 布局规范 1、 VC布局

- (void)viewWillLayoutSubviews{

[super viewWillLayoutSubviews]; //必须调用

CGFrame r = self.lbName.frame; r.size.width = 100* RATIO_WIDHT750; r.size.hegith = 20* RATIO_WIDHT750; r.origin.x = 10* RATIO_WIDHT750; r.origin.y = 20* RATIO_WIDHT750; self.lbName.frame = r; }

2、 View Cell等布局 -(void)layoutSubviews {

[super layoutSubviews];//必须调用

}

3、 UILabel计算高度

CGSize s = [_lbName sizeThatFits:CGSizeMake(MAXFLOAT, 15 * RATIO_WIDHT750)];

4、 属性调用

属性初始化时都以_下划化加名称方式 例 _lbName.text = @””; 其他地方调用则用self.lbName.text = @””;

(七) 编码Block

1、__weak(快捷名称)

__weak typeof(self) weakself = self;

2、assign

@property(nonatomic,assign) ;

4、 strong

@property(nonatomic,strong) *;

5、 sean-table-create

返回代码table section数量,section下的row数量,height、cell、header、footer、点击等回调方法

6?sean-collview-create

返回代码collview的section数量,section下的row数量,height、cell、点击等回调方法

7?sean-label-create

_lbName = [[UILabel alloc]initWithFrame:CGRectZero]; _lbName.textColor = RGB3(0);

_lbName.font = [UIFont systemFontOfSize:12*RATIO_WIDHT750]; [self.contentView addSubview: _lbName];

8?sean-imageview-create

_ivIcon = [[UIImageView alloc]initWithFrame:CGRectZero]; _ivIcon.image = [UIImage imageNamed:@\_ivIcon.backgroundColor = APP_COLOR; [self.contentView addSubview:_ ivIcon];

9、sean-button-create

_btnLogin = [[UIButton alloc]initWithFrame:CGRectZero]; [_btnLogin setTitle:@\

[_btnLogin setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

_ btnLogin.backgroundColor = RGB(255, 0, 0);

_ btnLogin.titleLabel.font = [UIFont systemFontOfSize:12*RATIO_WIDHT750]; _ btnLogin.tag = 100;

[_btnLogin addTarget:self action:@selector(clickAction:) forControlEvents:UIControlEventTouchUpInside];

10?sean-textfield-create

_tfName = [[UITextField alloc]initWithFrame:CGRectZero]; _tfName.font = [UIFont systemFontOfSize:14*RATIO_WIDHT750]; _tfName.textColor = [UIColor blackColor]; _tfName.placeholder = @\

[self.contentView addSubview: _tfName];

11?sean-cell-delete

返回tableviewcell 中带有侧滑删除

12?sean-cell-init cell初始化及共有方法

13?sean-view-init view初始化及共有方法

14?sean –method-create 返回方法体

15?sean-label-getter-setter - (UILabel*)lbName{ if(!_lbName){

_ lbName = [[UILabel alloc]initWithFrame:CGRectZero]; _ lbName.text = @\

_ lbName.textColor = RGB3(0);

_ lbName.font = [UIFont systemFontOfSize:12*RATIO_WIDHT750]; }

return _ lbName; }

16?sean-imageview-getter-setter 同上格式

17?sean-button-getter-setter 同上

18?sean-textfield-getter-setter

IOS框架文档V1.1

IOS框架文档总结整理下一个快速开发MVVM框架(抛砖引玉),主要用于分离控制器中的代码,降低代码耦合程度,可以根据自己使用习惯调整代码。一、架构结构模块采用MVC方法,如有复杂逻辑可采用MVVM模式处理二、三方库(1)、AFNetworking
推荐度:
点击下载文档文档为doc格式
1qmb12cjl71xep036fj71ujtp7zqyg019mf
领取福利

微信扫码领取福利

微信扫码分享