• QQ好友列表数据模型封装


    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
    


  • 相关阅读:
    颜色混合openglglBlendFunc函数
    Types of Maps
    ogre 检测显卡gpu支持参数
    (转载)lua和c/c++互相调用实例分析
    光照模型
    阴影(转载)
    eval()解析JSON
    android中The connection to adb is down,问题和解决 AndroidEclipseAntXML
    比较android中的像素单位dp、px、pt、sp
    区别:DOM Core 与 HTMLDOM
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6918751.html
Copyright © 2020-2023  润新知