美文网首页
iOS代码优化<一>避免庞大的if...else..

iOS代码优化<一>避免庞大的if...else..

作者: _苏丽君_ | 来源:发表于2018-07-19 17:22 被阅读326次

怎么避免冗余的if...else

举个例子,在 iOS 开发中,经常会遇到在设置 tableViewCell 时需要根据 indexPath 来设置不同 cell ,一般代码可能会是下面这个样子:

方法一:封装(表驱动法)

SEL methods[][3] = {

{ @selector(getFirstCell:) },

{ @selector(getSecondCell:) },

{ @selector(getThirdCell:) },

};

SEL sel =  methods[indexPath.section][indexPath.row];

[self performSelector:sel withObject:indexPath];

方法二:策略模式

方法三:封装cellViewModel。用工厂模式造cell

在MVVM中,dataSource 里面只存放一堆抽象的 cellViewModel ,并通过工厂来获得具体的 cell ,工厂可以用数据来驱动。

相关文章

网友评论

      本文标题:iOS代码优化<一>避免庞大的if...else..

      本文链接:https://www.haomeiwen.com/subject/tjvtmftx.html