牛骨文教育服务平台(让学习变的简单)
博文笔记

ios开发之与CoreData的连接

创建时间:2017-04-26 投稿人: 浏览次数:389

1.在TableView没遇到CoreData的时候我们怎么通过动态表视图来显示我们的通讯录的内容呢?也就是说我们通讯录的数据结构该如何组织呢?

    为了在TableView中显示我们的信息我们这样设计我们的数据结构:

      1.整个TableView是一个可变的数组tableArray;

      2.tableArray中的每个元素又是一个存放分组的字典sectionDictionary;

      3.在sectionDictionary中我们存放着两个键值对 header和items, header中存放的时section中的名字,items中存放的时每个section中的用户信息

      4.items中又是一个数组rowsArray, rowsArray中存放的又是一个字典userInfoDictionary, 在userInfoDictionary中存放着我们要显示的信息

    千字不如一图,看到上面对我们要设计的数据结构的描述会有点迷糊,下面来张图吧:

    2.数据结构我们设计好了,那么如何用代码生成我们的测试数据(数据的组织形式如上图所示),下面的代码就是生成我们要在tableView中显示的数据,生成的数组存储在tableArray中,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 /*  *手动创建我们在动态表视图上显示的数据格式  *整个数据存储在一个数组中  *数组中每一个元素是一个自动,字典的key是sectionHeader的值,value是该section中以数组形式存的数据  *section中的每一行对应着一个数组元素,数组元素中又存储着一个字典,字典中存储着用户的具体数据。  */   //为我们的数组分配存储空间, 代表着有20个section self.telBook = [NSMutableArray arrayWithCapacity:26];   //为我们的section设置不同的header char header = "A";   //计数 static int number = 0; for (int i = 0; i < 26; i ++) {     //新建字典来存储我们每个section中的数据, 假设每个section中有1个数组     NSMutableDictionary *sectionDic = [NSMutableDictionary dictionaryWithCapacity:1];           //创建字典中的数组,数组中以键值对的形式来储存用户的信息     NSMutableArray *rowArray = [NSMutableArray arrayWithCapacity:3];     for (int j = 0; j < 3; j ++)     {         //创建存储用户信息的字典         NSMutableDictionary *user = [NSMutableDictionary dictionaryWithCapacity:2];                   //生成测试数据         NSString *name = [NSString stringWithFormat:@"User%03d", number];         NSString *tel = [NSString stringWithFormat:@"12345%03d", number++];                   //加入字典中         [user setObject:name forKey:@"name"];         [user setObject:tel forKey:@"tel"];                   //把字典加入数组         [rowArray addObject:user];     }           //把rowArray添加到section字典中     NSString *key = [NSString stringWithFormat:@"%c",(header+i)];     [sectionDic setObject:key forKey:@"header"];     [sectionDic setObject:rowArray forKey:@"items"];           //把section添加到总的数组中     [self.telBook addObject:sectionDic]; }

 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。