ios开发之与CoreData的连接
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];
}
|
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
