iOS DeveloperiOS学习笔记

代码规范(Objective-C)

2017-05-12  本文已影响546人  BoomLee

前言

好的代码规范好处多多,例如便于团队合作,看着舒服,易于阅读,维护方便等等。

头文件

头文件无论引入多少,都应该进行分类并且排序去重(使用automator创建个去重排序脚本),一般分为vc,view,工具类,请求类等等,根据个人喜好。

#import "BESettingVC.h"

#import "BEBindPhoneReciveCodeBeforeVC.h"
#import "BEBindPhoneThirdPartVC.h"
#import "BEBindPhoneVC.h"
#import "BELanguageVC.h"
#import "BESetLogInPasswordVC.h"
#import "BESetNotificationVC.h"
#import "FeedBackViewController.h"
#import "GroupInformationViewController.h"
#import "SetPayPasswordViewController.h"
#import "WebViewController.h"

#import "UnitPicker.h"

#import "VideoFileManager.h"
#import "DeviceManager.h"

宏、类型常量定义

一般紧跟着头文件,尽量少使用宏

#import "DeviceManager.h"

static NSString *kIsFirstInPlayViewController = @"kIsFirstInPlayViewController";
static NSString *kPureModelGuideInPlayViewController = @"kPureModelGuideInPlayViewController";

协议

多个协议不要写在一行

@interface BESettingVC ()
<
UITableViewDelegate,
UITableViewDataSource,
UnitPickerDelegete
>

实例变量

尽量不要使用实例变量,使用属性

属性

和头文件一样,分类排放,我喜欢分成UI和数据两类,业务复杂再分几类。

//UI
@property (weak, nonatomic) IBOutlet UITableView *tableView;

//Data
@property (nonatomic, strong) MineModel *mineModel;
@property (nonatomic,strong) RemindSetingMode * setting;
@property (nonatomic, strong) UserSetting *preferenceSetting;
@property (nonatomic, copy) NSString *cacheDes;
@property (nonatomic, assign) BOOL loadingPaymentcodeStatus;

方法

同一类的方法放在一起,用#pragma mark - <#arguments#>进行注释。从上到下的顺序我喜欢排列为:初始化方法->dealloc->懒加载->声明周期-> UITableView的代理和协议->其它代理协议->action ->等等。总之要分类明确
私有方法建议以p_开头,例如p_invalidateTimer

方法

其它

上一篇:UIView局部透明/打洞,点击事件穿透
下一篇:去除编译警告

上一篇 下一篇

猜你喜欢

热点阅读