2018.6.28
这个方法setValuesForKeysWithDictionary
是不是用的很多,简单的数据模型的转换,只要我们在相应的模型中的设置的属性跟字典中的key一致就可以直接使用,但是其中有个- (void)setValue:(nullable id)value forUndefinedKey:(NSString *)key
这个方法,它的作用就是过滤到属性中没有对应的key,例如字典中有个key为id
,模型属性中不能设置id属性,因为这跟系统的有些属性有冲突,所以我们可能更改为其他属性,然后上面的方法就有用了呀。当然,这个方法有时就会忘了写,因为所有的key个模型的属性都是一一对应的,我们也不会有什么问题,但是我们不能保证后台的返回的数据结构不会变吧,只要多添加一个key值,我们就gg了,因为我们的对应的模型的属性没有,所有就会报出崩溃的crash,但是- (void)setValue:(nullable id)value forUndefinedKey:(NSString *)key
这个方法可以过滤掉没有对应的属性的key,这样不管后台怎么改变数据的结构,都不会出现崩溃的,也就不会出现线上的崩溃crash的情况
2018.7.25
在我们使用UITableView的时候,初始化的时候有UITableViewStyle
的类型的时候,我们可以看到有两种类型UITableViewStylePlain UITableViewStyleGrouped
,当我们设置UITableViewStyleGrouped类型的时候,一定要实现- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
和- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
这两个代理方法如果不设置的话,就会有一个默认的高度在那里,当我们打开查看图层的时候,就只能看出空出来一定的间距,看不出来到底什么问题,这个地方要注意点,默认的情况下是UITableViewStylePlain
类型,这个不用实现这两个代理。
后续持续更新中。。。