您的位置:首页 > 其它

第二个项目的部分总结(关于保存数据)

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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: