2012-03-12 69 views
0

我已经创建了一个ios应用程序,我需要将图像数组存储到nsuserdefaults中。当再次重新启动应用程序时,存储图像需要在滚动视图中显示。我如何存储图像数组并从nsuserdefault获取数组。预先感谢。在nsuserdefault存储图像阵列

+0

检查此链接[Importent你(HTTP://计算器.com/a/7620208/656600) – rptwsthi 2012-03-12 07:10:49

+1

我建议不要将图像存储在NSUserdefault中。我曾尝试过,它会减慢应用程序的速度。 – Rupesh 2012-03-12 07:34:24

回答

1

试试这个

NSData *dataVal = [NSKeyedArchiver archivedDataWithRootObject:val]; 
[defaults setObject:dataVal forKey:keyName]; 
[defaults synchronize]; 
0
NSData *imgData = UIImageJPEGRepresentation(YOURIMAGE,1.0); 
// Now store the NSData in the defaults for a key 

然后加载它像这样

UIImage *image = [UIImage imageWithData:[defaults objectForKey:@"Image"]]; 
1

尝试这个

for(int val=0;val<[imageArray count];val++){ 
// imageArray is an Array which contains the Image Names 
// See below converting the 
NSData *imgData = UIImagePNGRepresentation([UIImage imageNamed:[NSString stringWithFormat:@"@%d",[imageArray objectAtIndex]val]]); 
    //add this `imgData` into dataArray(Which is An NSmutableArray don't forget to Allocate it) 
    [dataArray addObject:imgData]; 
    //then Store this Array to NSuserDefaults 
[[NSUserDefaults standardUserDefaults] setObject:dataArray forKey:@"key"]; 
} 

// the Get the Stored Data Array from NSuserDefaults. 
NSMutableArray* storedDataArray=[[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults]objectForKey:@"key"]]; 

//`storedDataArray` array contains the ImageData(NSData) 
//Use it As you want