1. 常量
1. 格式为 Type *const kName//const修饰放到*号之前只表示指针指向地址不能修改(实现文件内)
2. 格式为 Type *const 类名+Name//(类外可见)
1. 尽量不使用宏定义(swfit不能使用宏定义)
2. static与extern修饰使用场景要区分
2. 变量
1. 成员变量m作为前缀,全局g作为前缀
1. 私有成员变量尽量写在.m的类扩展中
3. 属性
1. m作为前缀
1. 如果属性为私有,并且未使用懒加载,建议将属性改为变量(属性使用时会涉及到方法派送,影响性能)
4. 枚举
1. 大驼峰式命名,格式为MM+Name
2. 枚举内容以枚举类型名称开头
typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
AFNetworkReachabilityStatusUnknown = -1,
AFNetworkReachabilityStatusNotReachable = 0,
AFNetworkReachabilityStatusReachableViaWWAN = 1,
AFNetworkReachabilityStatusReachableViaWiFi = 2
};
5. 方法
1. 返回值是新建的话,方法名首字母用返回值类型(属性存取不算)
2. 返回值前面可以加修饰词
3. 没有返回值的方法用动词开始
4. get开头的用于那些由输出参数来保存返回值得函数
5. 返回时Boolean类型的话使用is或者has
1. 私有方法加前缀p_
6. 类
1. 大驼峰式命名MM+Name,能加后缀的加后缀
7. 协议
1. 类的实例必须为回调方法的参数之一
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
2. 以类的名字开头(回调方法存在两个以上参数的情况)以表明此方法是属于哪个类的, 如:(这一条可以和第一条合并)
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
3. 回调方法的参数只有类自己的情况,方法名要符合实际含义
-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView
4. 使用did和will通知Delegate已经发生的变化或将要发生的变化, 如:
-(NSIndexPath*)tableView:(UITableView*)tableView willSelectRowAtIndexPath:(NSIndexPath*)indexPath;
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath;
8. 关于大括号
1. 类方法必须另起一行写大括号,对于其他情况跟在代码之后空一格
9. 对method进行分组
#pragma mark----------------------------------life cycle
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
#pragma mark----------------------------------UITableViewDelegate
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath {
return 0;
}
-(UITableViewCell *)objectInConfigBtnAtIndex:(NSUInteger)index {
return nil;
}
#pragma mark----------------------------------CustomDelegate
/*
自己的代理
*/
#pragma mark----------------------------------event response
- (void)didTappedConfigBtn:(UIButton *)btn {
}
#pragma mark----------------------------------private method
/*
私有方法
*/
#pragma mark----------------------------------getter and setter
- (UIButton *)configBtn {
return nil;
}
- (UITableView *)tableView {
return nil;
}
网友评论