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];
上一篇下一篇