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];
}
|
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 比特币是什么? 最近知乎日报总在说比特币 到底是什么?
- 下一篇: 区块链共识机制浅谈