标签:
处理TableView中cell不同状态切换的问题
效果
说明
有时候,我们需要处理TableView中cell的各种状态,比如选中,未选中或者无效状态等,虽然我们都可以很容易的实现出来,但是考虑到代码的可读性以及可维护性,需要进行一定的设计才行.
1. 状态需要封装在Model中,让model自己管理
2. cell只需要判断model中的状态,然后进行相应的改变即可
源码
https://github.com/YouXianMing/TableViewState
// // ModelData.h // TableViewState // // Created by YouXianMing on 15/5/10. // Copyright (c) 2015年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> typedef enum : NSUInteger { ModelData_Selected, ModelData_UnSelected, ModelData_Error, } ModelDataState; @interface ModelData : NSObject /** * 数据相关 */ @property (nonatomic, strong) NSString *info; // 数据 /** * 状态相关 */ @property (nonatomic, assign) ModelDataState currentState; // 当前的状态 + (instancetype)modelDataWithInfo:(NSString *)info state:(ModelDataState)state; @end
// // ModelData.m // TableViewState // // Created by YouXianMing on 15/5/10. // Copyright (c) 2015年 YouXianMing. All rights reserved. // #import "ModelData.h" @implementation ModelData + (instancetype)modelDataWithInfo:(NSString *)info state:(ModelDataState)state { ModelData *data = [ModelData new]; data.info = info; data.currentState = state; return data; } @end
部分细节
标签:
原文地址:http://www.cnblogs.com/YouXianMing/p/4491786.html