1、读取全部数据
- (NSMutableArray *) loadAllData
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];
NSMutableArray *ans = [[NSMutableArray alloc] init];
NSMutableArray *dataArray = [[NSMutableArray alloc] initWithContentsOfFile:path]; // 从属性列表读取数据
for (NSDictionary *dict in dataArray) {
LLInfo *info = [LLInfo infoMake:[dict objectForKey:@"name"] :[dict objectForKey:@"age"]];
[ans addObject:info];
}
return ans;
}
2、插入数据
- (void) insertInfo:(LLInfo *)data
{
NSMutableArray *dataArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
NSDictionary *dict = [NSDictionary dictionaryWithObjects:@[data.name, data.age] forKeys:@[@"name", @"age"]];
[dataArray addObject:dict];
[dataArray writeToFile:path atomically:YES];
}
3、删除数据
- (void) deleteInfo:(LLInfo *)data
{
NSMutableArray *dataArray = [[NSMutableArray alloc] initWithContentsOfFile:path]; // 从属性列表读取数据
for (NSDictionary *dict in dataArray) {
if ([[dict objectForKey:@"name"] compare: data.name] == 0) {
[dataArray removeObject:dict];
[dataArray writeToFile:path atomically:YES];
break;
}
}
}
4、交换数据位置
- (void) exchangeInfo: (LLInfo *) from : (LLInfo *) to
{
NSMutableArray *dataArray = [[NSMutableArray alloc] initWithContentsOfFile:path]; // 从属性列表读取数据
int i = -1, j = -1;
for (NSDictionary *dict in dataArray) {
if ([[dict objectForKey:@"name"] compare: from.name] == 0) {
i = [dataArray indexOfObject:dict];
}
if ([[dict objectForKey:@"name"] compare: to.name] == 0) {
j = [dataArray indexOfObject:dict];
}
if (i != -1 && j != -1) {
break;
}
}
[dataArray exchangeObjectAtIndex:i withObjectAtIndex:j];
[dataArray writeToFile:path atomically:YES];
}
5、修改数据
- (void) modifyInfo: (LLInfo *) data : (LLInfo *) newData
{
NSMutableArray *dataArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
for (NSDictionary *dict in dataArray) {
if ([[dict objectForKey:@"name"] compare: data.name] == 0) {
[dict setValue: newData.name forKey:@"name"];
[dict setValue: newData.age forKey:@"age"];
[dataArray writeToFile:path atomically:YES];
break;
}
}
}