1. 程式人生 > >QQ好友列表數據模型封裝

QQ好友列表數據模型封裝

key post setvalue ron mod board oftype super uiview

QQ好友中的信息較多。假設我們單獨從plist 中直接取出數據 是能夠解決這個問題

可是相當復雜。以為列表中分組 。每組中還有不同信息

大致模型是 數組套數組 數組套字典

所以我們要封裝數據模型

//
//  GPGroupController.h
//  02-好友分組
//


#import <UIKit/UIKit.h>

@interface GPGroupController : UIViewController

@end

//
//  GPGroupController.m
//  02-好友分組
//


#import "GPGroupController.h"
#import "GPGroup.h"
#import "NSArray+LocalPrint.h"
@interface GPGroupController ()

@property(nonatomic,strong)NSArray *groups;

@end

@implementation GPGroupController

-(NSArray *)groups
{
    if (_groups == nil) {
        //1.
        NSString *path = [[NSBundle mainBundle]pathForResource:@"qq_group.plist" ofType:nil];
        NSArray * dicts =[NSArray arrayWithContentsOfFile:path];
        
        //2.
        NSMutableArray *objs = [NSMutableArray array];
        for(NSDictionary *dic in dicts)
        {
            GPGroup *group = [GPGroup groupWthDict:dic];
            [objs addObject:group];
        }
        //3.
        _groups = objs;
    }
    return _groups;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"%@",self.groups);
    // Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end

//
//  GPFriend.h
//  02-好友分組

#import <Foundation/Foundation.h>

@interface GPFriend : NSObject
@property(nonatomic,copy)NSString *icon;
@property(nonatomic,copy)NSString *message;
@property(nonatomic,copy)NSString *name;

+(id)friendWithDict:(NSDictionary *)dict;
-(id)initWithDict:(NSDictionary *)dict;
@end

//
//  GPFriend.m
//  02-好友分組
//

#import "GPFriend.h"

@implementation GPFriend
+(id)friendWithDict:(NSDictionary *)dict
{
    return [[self alloc]initWithDict:dict];
}
-(id)initWithDict:(NSDictionary *)dict
{
    if (self = [super init]) {
        [self setValuesForKeysWithDictionary:dict];
    }
    return self;
}

- (NSString *)description
{
    return [NSString stringWithFormat:@"icon=%@,name=%@,message=%@", _icon,_name,_message];
}
@end


QQ好友列表數據模型封裝