iOS开发--保存数据到本地

 //参数介绍:
//   (NSMutableArray *)data :保存的数据,暂时先存储地物名称
//   (NSString *)fileName :存储的文件名
+(BOOL) saveFavoriteData:(NSMutableArray *) arrFavor  saveFileName:(NSString *)fileName
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    //NSArray *FeatureAttribute2Plist =  [[NSArray alloc]initWithObjects:@"name",@"poiID",@"type",@"objectID",@"icon", nil];
    if (!documentsDirectory) {
        NSLog(@ "Documents directory not found!" );
        return NO;
    }
    NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
    NSMutableArray *resultArr=[[NSMutableArray alloc]init];
    if (arrFavor!=nil&&![arrFavor isKindOfClass:[NSNull class]]) {
        if (arrFavor.count>0) {
            if( [arrFavor[arrFavor.count-1] isKindOfClass:[FeatureAttribute2 class]]){
                for (FeatureAttribute2*feature in arrFavor) {
                    if(feature.poiID==nil){
                        feature.poiID=@"nil";
                    }
                    if(feature.objectID==nil){
                        feature.objectID=@"nil";
                    }
                    if(feature.name==nil){
                        feature.name=@"未知";
                    }
                    if(feature.x==nil){
                        feature.x=@"nil";
                    }
                    if(feature.y==nil){
                        feature.y=@"nil";
                    }
                        [resultArr addObject:feature.name];
                        [resultArr addObject:feature.poiID];
                        [resultArr addObject:feature.type];
                        [resultArr addObject:feature.objectID];
                        [resultArr addObject:feature.x];
                        [resultArr addObject:feature.y];
                        //[resultArr addObject:feature."%@",s];
                    
                }
            }
        }
    }
    if (resultArr.count>0) {
        return ([resultArr writeToFile:appFile atomically:YES]);
    }
    else{
        return NO;
    }
    
}
//读取游戏数据
//参数介绍:
//   (NSString *)fileName :需要读取数据的文件名
+(id) loadFavoriteData:(NSString *)fileName
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
    NSMutableArray *myData = [[NSMutableArray alloc] initWithContentsOfFile:appFile];
    NSMutableArray *myData2 = [NSMutableArray new];
    for(int m=0;m<myData.count;m=m+6)
    {
        NSString *fName = myData[m];
        NSString *fPoiID=myData[m+1];
        NSString *fType=myData[m+2];
        NSString *fObjectID=myData[m+3];
        NSString *fX=myData[m+4];
        NSString *fY=myData[m+5];
        FeatureAttribute2*feature=[FeatureAttribute2 new];
        feature.name=fName;
        feature.poiID=fPoiID;
        feature.type=fType;
        feature.objectID=fObjectID;
        feature.x=fX;
        feature.y=fY;
        [myData2 addObject:feature];
    }

    return myData2;
}
posted on 2016-08-06 11:04  sandyLoveCoding  阅读(370)  评论(0编辑  收藏  举报