ZGPopTableView

[复制链接]
来自: mazhengJ 分类: iOS精品源码 上传时间: 2016-6-5 13:59:36

项目介绍:

tableView (github)的三级联动菜单,实现了点击cell展开内容,实现了向下递归和向上递归选中数据

主要代码:
[Objective-C] 查看源文件 复制代码
- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *filePath=[[NSBundle mainBundle]pathForResource:@"friends" ofType:@"plist"];
    NSArray *list=[[NSArray alloc]initWithContentsOfFile:filePath];
    [self loadIntialData:list];
    [self reloadShowIngData];
}

//把plist中内容加载到self.contentArr中
-(void)loadIntialData:(NSArray *)arr{
    for (NSDictionary *dic in arr) {
        PopTableViewItem *item=[[PopTableViewItem alloc]init];
        [item decodeValue:dic];
        [self.contentArr addObject:item];
    }
}

//加载页面显示内容的数据源
-(void)reloadShowIngData{
    [self.contentForShow removeAllObjects];
    [self reloadShowingDataFrom:self.contentArr to:self.contentForShow];
    [self.tableView reloadData];
}

//页面内容的数据源是从self.contentArr中加载的
-(void)reloadShowingDataFrom:(NSArray *)initialData to:(NSMutableArray *)contentForShow{
    //遍历数据源中的每一个item,将item添加到contentForShow数组。如果item的状态是打开的,则把item下面的sections数组中内容也添加到contentForShow数组中
    for (id item in initialData) {
        if ([item isKindOfClass:[PopTableViewItem class]]) {
            [contentForShow addObject:item];
            if (YES == [item isOpen]) {
                [self reloadShowingDataFrom:[(PopTableViewItem *)item setions] to:contentForShow];//递归继续添加数据
            }
        }
        else{
            [contentForShow addObject:item];
        }
    }
}


DEMO直接下载:

相关源码推荐:

我来说两句
所有评论(107)
liujinfeng 2016-6-6 10:48:22
我只是路过打酱油的。
回复
贱精先生丶 2016-6-6 11:04:44
感谢分享,Code4App有你更精彩
回复
任性的学霸 2016-6-6 11:34:42
很给力,Code4App有你更精彩!
回复
王颖博 2016-6-6 13:00:42
感谢分享,Code4App有你更精彩
回复
zhoujiawei19072 2016-6-6 18:32:25
楼主用心了,内容非常精彩。
回复
我是曹大侠 2016-6-7 09:28:44
淡定,淡定,淡定……
回复
code小兔子 2016-6-7 11:41:02
精华内容,楼主V5!
回复
sunjie886 2016-6-7 17:08:24
感谢分享,Code4App有你更精彩:)
回复
圣珠 2016-6-7 19:29:05
淡定,淡定,淡定……
回复
提取码:  下载次数:164 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
2514 0 164
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )