美文网首页
重点:代码规范

重点:代码规范

作者: 健尐 | 来源:发表于2016-08-04 10:56 被阅读28次

    命名可以统一的

    无论在哪个xxx.m中:
    凡是定义UITableView的命名都是tableView
    凡是UITextField的命名都是textField
    凡是表视图的数组命名都是dataBase
    

    Get/Set方法放在最后

    #pragma mark - Get/Set方法
        - (NSMutableArray *)dataBase {
            if(!_dataBase) {
                _dataBase = [[NSMutableArray alloc] init];
            }
            return _dataBase;
        }
    @end
    

    全部协议的方法放在同一个范围,#pragma mark - Delegate

    #pragma mark - Delegate
    #pragma mark -- UITableViewDataSource
        - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
        - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    #pragma mark -- UITableViewDelegate
        - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    

    尽量少用Block; 多用协议方法(大神博客都是这样说的)

    1.Block扩展性低,比如突然增加一个方法又要增加一个Block
    2.Block容易循环引用,在MJRefresh.h中的footerWithRefreshingBlock里面需要把self改为弱引用
    3.(^)的写法楼主总是忘记了
    

    属性NS头的用懒加载; 属性UI头的写生成方法

    #import "ViewController.h"
    @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
    /** 表视图 */
    @property (nonatomic,strong)UITableView *tableView;
    /** 数据源 */
    @property (nonatomic,strong)NSMutableArray *dataBase;
    @end
    
    @implementation ViewController
    - (void)viewDidLoad {
      [self createTableView];
    }
    #pragma mark - 设置UI
    -(void)createTableView{
      _tableView = [[UITableView alloc]initWithFrame:self.view.bounds style:(UITableViewStylePlain)];
      [self.view addSubview:_tableView];
      _tableView.dataSource = self;
      _tableView.delegate = self;
    }
    
    #pragma mark - Get/Set方法
    - (NSMutableArray *)dataBase {
      if(!_dataBase) {
          _dataBase = [[NSMutableArray alloc] init];
      }
      return _dataBase;
    }
    @end
    

    公用方法,触发方法和接口方法各自放在同一个范围

    #pragma mark - 触发方法
      1. 手势的触发
      2. 控制器的触发
    #pragma mark - 公用方法
      1. 公用的逻辑方法
      2. 公用的UI布局方法
    #pragma mark - 接口方法
      1. 一堆接口方法
    

    怎么写代码速度才速度快?

    1. [UITableView alloc]initWithFrame:(CGRect) style:(UITableViewStyle) 
          (UITableViewStyle)参数回车或鼠标直接点击它,令它成(UITableViewStyle)后在e加P自动补全UITableViewStylePlain
    2. 有人喜欢用FuzzyAutocompletePlugin代码自动补全
        下载地址:<https://github.com/chendo/FuzzyAutocompletePlugin>
    

    注释写多不会死的

    /** 表视图 */
    @property (nonatomic,strong)UITableView *tableView;
    /** 增加按钮方法 */
    -(void)addBtnDidClick{
      NSLog(@"点击了增加按钮");
    }
    

    在.h文件中的声明顺序

    1. 写属性
    2. 写类方法
    3. 写实例方法
    4.写其他,比如协议方法(外国人说的)
    * 值得注意的是strong不能省,虽然现在是默认是强引用类型,说不定以后苹果又改了默认(有更好的自动内存管理)
    
    也有人喜欢UI和NS分开写,如下
    @interface ViewController (){
        /** 表视图 */
        UITableView *_tableView;
    }
    /** 数据源 */
    @property (nonatomic,strong)NSMutableArray *dataBase;
    @end
    

    相关文章

      网友评论

          本文标题:重点:代码规范

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