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年的第一周中所以产生了错误