表达式
1.IF语句
- 表达式(if/else/switch/while等)和花括号总是在同一行打开,在新一行中关闭。
- if语句如果没有跟else,则可以不需要花括号。
if (isOpen) {
// Do something
} else {
// Do something else
}
if (isBad) return something;
2.SWITCH语句
花括号在case语句中不是必须的,但是当一个case语句中包含多行代码时,大括号应该加上;
case的值不应该是魔法数字,应通宏定义、常量、枚举等赋予具体意义。
switch (tag) {
case alertTag:
// ...
break;
case buttonTag: {
// ...
// Muti-line code
break;
}
default:
// ...
break;
}
当switch的对象值是枚举类型时,可以省略'default'语句。
typedef NS_ENUM(NSUInteger, EarnType) {
EarnTypeChangePic = 1, //换头像
EarnTypeChangeNick = 2, //换昵称
EarnTypeChangeSchool = 3, //换学校
};
...
EarnType type;
switch (type) {
case EarnTypeChangePic: {
// ...
break;
}
case EarnTypeChangeNick: {
// ...
break;
}
case EarnTypeChangeSchool: {
// ...
break;
}
}
注意:XCode中有可以快速编写switch语的插件
点击这里
注释
由于Objctive-C自我描述性比较强,代码中尽量少注释,让代码能自我描述。不过需要注释的地方,也不能省略,要清楚的解释对应代码含义或作用,杜绝无效注释。
注释也需要时常维护,保证最新。
几类注释
1.普通注释
即//注释
或/*注释*/
类型的注释,常用在代码需要解释的地方,或者暂时不使用的代码块。
// 注释
/*
...
大段注释
...
*/
一个实例
// 非当前审核版本显示所有
if ([reviewVersion compare:currentVersion] != NSOrderedSame) {
return NO;
}
else {
// reviewVersion=nil
// reviewVersion 和 currentVersion一样
// 表示在审核
return YES;
}
注意:// 类型的注释,在斜杠后空一格 商讨
2.文档注释
可以用于生成文档的注释。
凡是以 ///
、/**
或/*!
开头的注释块,都算所appledoc注释。
/// 这是单行注释。
/** 这也是单行注释 */
/*! 同样是单行注释 */
/** 这也是单行注释,
* 第二行会接上第一行。
*/
- 注释块中,每一行开头的空格和
*
字符多数情况都会被appledoc忽略。 - 连续的两行(即没有间隔空行)的注释,将被合并成一个段落,并忽略换行,就像html。
- 在注释块内,appledoc支持如下语法:Markdown、HTML、HeaderDoc Tags。
注意:写文档注释可以使用XCode中的插件
VVDocumenter-Xcode
3.标记注释
用于在项目中作为标记的注释,通常有以下四种:
//TODO:
用于预留接口或方法的标记。
//FIXME:
用于标记BUG等需要修复的地方
//???:
有疑问的代码,可以用于review
//!!!:
自定义说明
例如
if (isGood) {
//TODO: 做好结果处理
}
else {
//FIXME: BUG#3321 闪退,不能用0除
return 8/0;
}
//???: 这是干嘛- -
a=a;
//!!!: 好思路,先标记下,我要写到小本本里学习学习
x = 1;
y = 2;
x = x ^ y;
y = x ^ y;
x = x ^ y;
// x,y交互完成
注意:标记注释可以和一个XCode的插件一起使用
XToDo