记录iOS开发中遇到的坑

1.关于本地化数据(NSUserDefault)

当关键数据在iOS版本更新时发生数据类型改变时,最好使用新的key值进行存储,避免对旧数据按照新数据的类型进行处理(数据类型错误)导致app崩溃。

2.xcode8 tableview

设置tableview的头/脚视图(tableHeaderView/FooterView)的代理方法-tableView: viewForFooterInSection: 方法必须实现titleForFooterInSection: 方法并返回非空字符串的值,才能正常调用。

3.NSString 的stringWithFormat:方法

[NSString stringWithFormat:@"%@",nil]当参数为nil时,该方法返回的字符串不为空,而是"(null)"这个字符串。使用该字符串生成的方法将其他对象类型如NSNumber转换为字符串类型时需要注意传入的参数为空的情况。

4.使用autolayout实现cell动态高度

self.tableView.estimatedRowHeight =200;

self.tableView.rowHeight =UITableViewAutomaticDimension;

iOS7下额外加入:CGFloatheight = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height +1;

你可能感兴趣的:(记录iOS开发中遇到的坑)