50.小项目:QQ好友列表 C部分

---------- ViewController.m ----------

#import "ViewController.h"

#import "CZFriendGroup.h"

#import "CZFriendCell.h"

#import "CZGroupHeader.h"


@interfaceViewController () <CZGroupHeaderDelegate>


@property (strong, nonatomic) NSArray *groups;


@end


@implementation ViewController


- (void)viewDidLoad

{

    [superviewDidLoad];

    self.tableView.rowHeight = 50;

    self.tableView.sectionHeaderHeight = 44;

}


- (BOOL)prefersStatusBarHidden

{

    returnYES;

}


- (NSArray *)groups

{

    if (_groups == nil)

    {

        NSArray *dictArray = [NSArrayarrayWithContentsOfFile:[[NSBundlemainBundle] pathForResource:@"friends.plist"ofType:nil]];

        

        NSMutableArray *groupArray = [NSMutableArrayarray];

        for (NSDictionary *dict in dictArray)

        {

            CZFriendGroup *group = [CZFriendGroup groupWithDict:dict];

            [groupArray addObject:group];

        }

        _groups = groupArray;

    }

    return_groups;

}


- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

    returnself.groups.count;

}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

    CZFriendGroup *group = self.groups[section];

    return group.open ? group.friends.count : 0;

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    CZFriendCell *cell = [CZFriendCell cellWithTableView:tableView];

    CZFriendGroup *group = self.groups[indexPath.section];

    cell.friendData = group.friends[indexPath.row];

    return cell;

}


- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

{

    CZGroupHeader *header = [CZGroupHeader headerWithTableView:tableView];

    header.delegate = self;

    header.group = self.groups[section];

    return header;

}


- (void)groupHeaderClick:(CZGroupHeader *)header

{

    [self.tableViewreloadData];

}


@end

 

posted @ 2015-08-12 00:30  我要选李白  阅读(162)  评论(0编辑  收藏  举报