关于数据存储单独建立类
.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];