2012-03-12 55 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