IOS开发中常见不规范代码

IOS开发中常见不规范代码

更加详细的内容会同步更新在GitHub项目ios-Tips

容易让人误解的代码

1. 自动类型推导的代码
12.1 ?? 0  - 1 ?? 0      //12.1
//12.1 ?? (0 - 1 )?? 0

结果容易被误解为是11.1,由于算数预算副优先级高于三目运算符所以正确的结果是12.1 ?? (0 - 1 )?? 0

容易忽略的错误代码

1. 日期格式YYYY-MM-dd与yyyy-MM-DD
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
let st = formatter.date(from: "2017-12-31")//2017-12-31
formatter.dateFormat = "YYYY-MM-dd"
formatter.string(from: st!)//2018-12-31

产生错误的原因:

在IOS中YYYY根据周数来判断是哪一年而2017-12-31是周日算到2018年的第一周中所以产生了错误