封装的思路:
- 封装是面向对象的特性之一
- 抽取重复代码步骤
- 将相同代码封装到一个新的方法中
- 不同的就抽成方法的参数
特殊的封装示例
## 创建控件的代码封装--这会更直观
- (void)viewDidLoad {
[super viewDidLoad];
// 创建流水布局
UICollectionViewFlowLayout *layout = ({
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
// 设置所有cell的尺寸
layout.itemSize = CGSizeMake(180, 180);
layout;
});
// 添加UICollectionView
UICollectionView *collectionView = ({
UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 300, self.view.bounds.size.width, 200) collectionViewLayout:layout];
collectionView.dataSource = self;
[self.view addSubview:collectionView];
collectionView;
});
}