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

2016-03-25  本文已影响0人  鬼鬼梦

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];


上一篇下一篇

猜你喜欢

热点阅读