将映像数组存储在nsuserdefault中



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

尝试这个

NSData *dataVal = [NSKeyedArchiver archivedDataWithRootObject:val];
[defaults setObject:dataVal forKey:keyName];
[defaults synchronize];

试试这个

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 
NSData *imgData = UIImageJPEGRepresentation(YOURIMAGE,1.0);
// Now store the NSData in the defaults for a  key

然后像这个一样加载

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

最新更新