iOS代码规范

#define  宏定义 预处理  字符替换 没有类型,不做类型检查  (不分配内存)

const常量  有具体的类型,编译阶段执行类型检查  (分配内存)

一般是宏定义

如:#define kAppKey @"kAppKey"

添加宏定义,将在文件中需要使用到的常量,字符串等用宏定义。

#define KEY_BANK_TAIL @“bank_tail"

宏、常量名都要使用大写字母,用下划线‘_’分割单词

#define URL_GAIN_QUOTE_LIST @"/v1/quote/list"

#define URL_UPDATE_QUOTE_LIST @"/v1/quote/update"

#define URL_LOGIN  @"/v1/user/login”

以 k开头。后面遵循大写驼峰命名。「不带参数」

#define kHomePageDidScroll @"com.xq.home.page.tableview.did.scroll"

#pragma mark - Life Cycle

#pragma mark - override

#pragma mark - Intial Methods

#pragma mark - Target Methods

#pragma mark - UITextFieldDelegate

#pragma mark - Setter Getter Methods

可以使用代码块快捷键https://www.jianshu.com/p/e5609cf43a4f 

形容词性的BOOL属性的getter应该加上is前缀

@property (nonatomic, assign, getter=isEditable) BOOL editable;

类A需要将类B的实例变量作为它公共API的属性。这个时候,我们不应该引入类B的头文件,而应该使用向前声明(forward declaring)使用class关键字,并且在A的实现文件引用B的头文件。

addObject之前要非空判断

禁止在代码中直接写死字符串资源,必须要用字符串ID替代

你可能感兴趣的:(iOS代码规范)