博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QQ好友列表数据模型封装
阅读量:6112 次
发布时间:2019-06-21

本文共 2293 字,大约阅读时间需要 7 分钟。

QQ好友中的信息较多。假设我们单独从plist 中直接取出数据 是能够解决这个问题 

可是相当复杂。以为列表中分组 。每组中还有不同信息 

大致模型是 数组套数组  数组套字典 

所以我们要封装数据模型

////  GPGroupController.h//  02-好友分组//#import 
@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 
@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

转载于:https://www.cnblogs.com/clnchanpin/p/6918751.html

你可能感兴趣的文章
第二周例行报告
查看>>
Spring学习(16)--- 基于Java类的配置Bean 之 基于泛型的自动装配(spring4新增)...
查看>>
实验八 sqlite数据库操作
查看>>
四种简单的排序算法(转)
查看>>
Quartz2D之着色器使用初步
查看>>
多线程条件
查看>>
Git [remote rejected] xxxx->xxxx <no such ref>修复了推送分支的错误
查看>>
Porter/Duff,图片加遮罩setColorFilter
查看>>
黄聪:VMware安装Ubuntu10.10【图解】转
查看>>
Centos 6.x 升级openssh版本
查看>>
公式推♂倒题
查看>>
vue实现点击展开,点击收起
查看>>
如何使frame能居中显示
查看>>
第k小数
查看>>
构建之法阅读笔记三
查看>>
Python/PHP 远程文件/图片 下载
查看>>
【原创】一文彻底搞懂安卓WebView白名单校验
查看>>
写给对前途迷茫的朋友:五句话定会改变你的人生
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
JAVA入门到精通-第86讲-半双工/全双工
查看>>