码迷,mamicode.com
首页 > 其他好文 > 详细

处理TableView中cell不同状态切换的问题

时间:2015-05-10 11:12:42      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

处理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

 

部分细节

技术分享

技术分享

技术分享

 

处理TableView中cell不同状态切换的问题

标签:

原文地址:http://www.cnblogs.com/YouXianMing/p/4491786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!