UI进阶数据本地化之简单对象本地化操作

ViewController.m


//第一步:我要知道存到哪里,所以需要一个文件夹的路径

NSString *documentPathStr=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];


//第二步:我要知道要存什么,所以要创建一条数据

NSString *str=@"hello world";


//第三步:我要知道我存的东西放在哪里,所以创建了一个路径,路径的终点是存数据的文件.

NSString *strPath=[documentPathStr stringByAppendingPathComponent:@"str.txt"];


//第四步:准备工作做好,开始写入的操作

[str writeToFile:strPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

NSLog(@"documet==%@",documentPathStr);


//通过路径读取数据,使用stringWithContrntsOfFile方法,在读取的时候,

//第一个参数表示读取文件的路径,

//第二个参数表示编码格式,

//第三个表示错误信息.

NSString *newStr=[NSString stringWithContentsOfFile:strPath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"newStr==%@",newStr);


#pragma mark--数组存储--


//2准备存储的数据

NSArray *array = @[@"1",@"2",@"3"];

//3.存在哪里

NSString *arrayPath = [documentPathStr stringByAppendingPathComponent:@"array.plist"];

//执行存储的事件

[array writeToFile:arrayPath atomically:YES];

NSArray *newArray = [NSArray arrayWithContentsOfFile:arrayPath];

NSLog(@"newArray==%@",newArray);


#pragma mark--存储字典--


NSDictionary *dic = @{@"a":@"1",@"b":@"2"};

NSString *dicPath = [documentPathStr stringByAppendingPathComponent:@"dic.plist"];

[dic writeToFile:dicPath atomically:YES];

NSDictionary *newdic=[NSDictionary dictionaryWithContentsOfFile:dicPath];

NSLog(@"newdic==%@",newdic);


#pragma  mark -- NSData 存储


//根据imageNamed获取图片会在缓存里面存一份,下次在获取同名图片,直接从缓存里面取.

//优点:快,只有第一次的时候稍慢,但是之后再去获取的话就会很快.

//缺点:会浪费内存,如果只用一次的话这块内存就浪费掉

UIImage *image = [UIImage imageNamed: ];


//根据ContentsofFile获取的图片,每一次都会根据路径去获取图片,不会占用内存,如果图片只用一次的话,推荐使用ContentsofFile

UIImage *image1 = [[UIImage alloc]initWithContentsOfFile:(nonnull NSString *)];


//123.png

//123@2X.png

//123@3X.png


UIImage *image = [UIImage imageNamed:@"3"];

//将UIImage类型对象转化成NSData类型的

//第一个参数:转那个UIImage类型的对象

//第二个参数:压缩系数,越小压缩越厉害

NSData *data = UIImageJPEGRepresentation(image, 1);


//将data存入到本地

//读取出来,并放在imageview上显示

NSString *imageStr = [documentPathStr stringByAppendingPathComponent:@"data.png"];


[data writeToFile:imageStr atomically:YES];


NSData *newData = [NSData dataWithContentsOfFile:imageStr];


UIImage *newImage = [[UIImage alloc]initWithData:newData];


UIImageView *imageView = [[UIImageView alloc]initWithImage:newImage];


[self.view addSubview:imageView];



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容