第二个项目的部分总结(关于保存数据)
2011-01-26 16:09
381 查看
关于数据存储单独建立类
.h
@interface MainLogic : NSObject {}
@end
.m
@implementation MainLogic
static MainLogic *_MainLogic = nil;
+(MainLogic*)ShareMainLogic{
@synchronized(self){
if (!_MainLogic) {
_MainLogic = [[MainLogic alloc] init];
}
}
return _MainLogic;
}
-(id)init{
if ((self = [super init])) {
[self Set_rankdictionary];
}
return self;
}
-(void)dealloc{
[super dealloc];
}
@end
.h
定义数组
NSMutableArray *_rankdictionary;
方法
-(BOOL)writeApplicationData:(NSMutableArray *)data writeFileName:(NSString *)fileName;//写入文件
-(id) readApplicationData:(NSString *)fileName;//读取数据
-(void)savedata;//保存数据
-(void)Set_rankdictionary;//设置文件
-(int)Get_textnum;//得到num值,为一开始的时候数据的读取使用
-(void)Update_dataname:(int)t Line:(float)_line;//更新数据
.m
-(BOOL)writeApplicationData:(NSMutableArray *)data writeFileName:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (!documentsDirectory) {
return NO;
}
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
return ([data writeToFile:appFile atomically:YES]);
}
-(id) readApplicationData:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
NSMutableArray *myData = [[[NSMutableArray alloc] initWithContentsOfFile:appFile] autorelease];
return myData;
}
-(void)savedata{
[self writeApplicationData:_rankdictionary writeFileName:@"rank.plist"];//添加plist文件//存放位置资源库->Application Support->Iphone Simulator->4.2->Application中
}
-(void)Set_rankdictionary{
id data = [self readApplicationData:@"rank.plist"];
if (!data) {
_rankdictionary = [[NSMutableArray alloc] init];
[_rankdictionary addObject:[NSNumber numberWithInt:0]];//0
[_rankdictionary addObject:[NSNumber numberWithFloat:0]];//1
[_rankdictionary addObject:[NSNumber numberWithBool:0]];//添加BOOL值的数据//2
}
else {
_rankdictionary =[[NSMutableArray alloc]initWithArray:data];
}
}
-(void)Update_dataname:(int)t Line:(float)_line{
[_rankdictionary replaceObjectAtIndex:0 withObject:[NSNumber numberWithInt:t]];//replace覆盖掉以前的数据
[_rankdictionary replaceObjectAtIndex:1 withObject:[NSNumber numberWithFloat:_line]];
}
-(int)Get_textnum{
int i = [[_rankdictionary objectAtIndex:0] intValue];//0什么数据类型就什么value
return i;
}
-(float)Get_Line{
float line = [[_rankdictionary objectAtIndex:1] floatValue];//1
// NSLog(@"_line %f",line);
return line;
}
在***appdelegate.m文件中
- (void)applicationWillTerminate:(UIApplication *)application
添加[[MainLogic ShareMainLogic] savedata];
.h
@interface MainLogic : NSObject {}
@end
.m
@implementation MainLogic
static MainLogic *_MainLogic = nil;
+(MainLogic*)ShareMainLogic{
@synchronized(self){
if (!_MainLogic) {
_MainLogic = [[MainLogic alloc] init];
}
}
return _MainLogic;
}
-(id)init{
if ((self = [super init])) {
[self Set_rankdictionary];
}
return self;
}
-(void)dealloc{
[super dealloc];
}
@end
.h
定义数组
NSMutableArray *_rankdictionary;
方法
-(BOOL)writeApplicationData:(NSMutableArray *)data writeFileName:(NSString *)fileName;//写入文件
-(id) readApplicationData:(NSString *)fileName;//读取数据
-(void)savedata;//保存数据
-(void)Set_rankdictionary;//设置文件
-(int)Get_textnum;//得到num值,为一开始的时候数据的读取使用
-(void)Update_dataname:(int)t Line:(float)_line;//更新数据
.m
-(BOOL)writeApplicationData:(NSMutableArray *)data writeFileName:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (!documentsDirectory) {
return NO;
}
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
return ([data writeToFile:appFile atomically:YES]);
}
-(id) readApplicationData:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
NSMutableArray *myData = [[[NSMutableArray alloc] initWithContentsOfFile:appFile] autorelease];
return myData;
}
-(void)savedata{
[self writeApplicationData:_rankdictionary writeFileName:@"rank.plist"];//添加plist文件//存放位置资源库->Application Support->Iphone Simulator->4.2->Application中
}
-(void)Set_rankdictionary{
id data = [self readApplicationData:@"rank.plist"];
if (!data) {
_rankdictionary = [[NSMutableArray alloc] init];
[_rankdictionary addObject:[NSNumber numberWithInt:0]];//0
[_rankdictionary addObject:[NSNumber numberWithFloat:0]];//1
[_rankdictionary addObject:[NSNumber numberWithBool:0]];//添加BOOL值的数据//2
}
else {
_rankdictionary =[[NSMutableArray alloc]initWithArray:data];
}
}
-(void)Update_dataname:(int)t Line:(float)_line{
[_rankdictionary replaceObjectAtIndex:0 withObject:[NSNumber numberWithInt:t]];//replace覆盖掉以前的数据
[_rankdictionary replaceObjectAtIndex:1 withObject:[NSNumber numberWithFloat:_line]];
}
-(int)Get_textnum{
int i = [[_rankdictionary objectAtIndex:0] intValue];//0什么数据类型就什么value
return i;
}
-(float)Get_Line{
float line = [[_rankdictionary objectAtIndex:1] floatValue];//1
// NSLog(@"_line %f",line);
return line;
}
在***appdelegate.m文件中
- (void)applicationWillTerminate:(UIApplication *)application
添加[[MainLogic ShareMainLogic] savedata];
相关文章推荐
- 关于项目中多次保存订单,并且保存后就快速提交,导致部分数据状态未改变
- 最近一个项目中关于NGUI部分的总结
- 关于NSUserDefaults保存数据的问题总结
- (转)最近一个项目中关于NGUI部分的总结(深度和drawCall)
- 总结Java部分的框架和开源项目
- OA中总结:s:select,关于使用modelDriven,项目分层,@Transactional,jspf,各个层上配置注解交给spring管理的方法,简单的OGNL表达式写法
- 关于移动端触屏输入控制的API的使用汇总(二)_Unity 单指与双指Touch事件捕获(网友项目使用总结)
- U6数据导出工具项目总结三 鼠标单击或者双击DataGridView控件时获取鼠标点击位置的值
- eclipse 运行项目 无报错,保存数据时页面一直卡在Form页面上
- 关于小项目总结
- 关于LBS项目开发的个人总结
- #关于在heroku部署django 项目时,使用postgresql数据使用
- 关于vs2005、vs2008和vs2010项目互转的总结
- 微软SQLServer官方示例项目部署-数据引擎和分析服务部分
- [项目总结]关于调用系统照相机Activity被销毁问题解决
- 关于XML数据的处理【总结】
- 记录有关802.11 mixed模式,关于AP发送下行数据部分
- 第8周项目1(2)数组做数据成员文件的读取和保存
- Spring:启动项目时加载数据库数据(总结)
- 关于qt保存数据到txt文件的问题