作者j5307 (JJ)
看板MacDev
标题[问题] 用NSUserDefaults 储存 阵列图片
时间Sun Nov 4 11:54:19 2012
我在录影完成後 撷取ㄧ张图 并使用NSUserDefaults 以阵列的方式储存
//当录影完後得到截图 theFileURL是影片的位置
picture = [[MPMoviePlayerController alloc] initWithContentURL:theFileURL];
UIImage *thumbnailImg = [picture thumbnailImageAtTime:0.5
timeOption:MPMovieTimeOptionNearestKeyFrame];
NSUserDefaults *SaveDefaults = [NSUserDefaults standardUserDefaults];
//读取存取的图片阵列
NSArray *array = [SaveDefaults arrayForKey:@"Key"];
if (array == NULL){
array = [NSArray alloc]init];
[SaveDefaults setObject:array forKey:@"Key"];
}
NSMutableArray *Marray = [array mutableCopy];
//有问题的地方
[Marray addObject: thumbnailImg];
array = [NSArray arrayWithArray:Marray];
[SaveDefaults setObject:array forKey:@"Key"];
for (int i=0; i<Marray.count; i++) {
NSLog(@"test:%@",[Marray objectAtIndex:i]);
}
测试结果
test:<UIImage: 0x22575960>
但在做第二次动作时 会把第一次盖掉
test:<UIImage: 0x2257a2c0>
更改问题的地方成 字串储存
[Marray addObject: @"try"];
测试结果
test:try
第二次测试时 就会显示两次
test:try
test:try
想请问ㄧ下 除了已存在的图档(@"xxx.jpg")外 是否这种方法就不可行了?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.40.182.101