2014-06-16 2 views
0

오버레이 이미지를 표시하고 캡쳐 화면을 캡처하려면 EAGLview를 사용하고 viewcontroller에서 검색하려면 NSUserDefaults에 저장하십시오.null 이미지 값을 저장하는 NSUserDefaults

하지만 이미지를 저장할 때 photo album 저장하지만 NSUserDefaults에 저장하지 않습니다. 그래서 나는 NULL 값을 얻고 있습니다.


UIImage *glImage = [self glToUIImage]; 
self.screensht = [self createSavableImage:glImage]; 

UIImageWriteToSavedPhotosAlbum(self.screensht, nil, nil, nil); 


NSData* imgData1=UIImagePNGRepresentation(self.screensht); 
[[NSUserDefaults standardUserDefaults] setObject:imgData1 forKey:@"image"]; 
[[NSUserDefaults standardUserDefaults]synchronize]; 


NSLog(@"nsuserdefauls is %@",[[NSUserDefaults standardUserDefaults] stringForKey:@"image"]); 

답변

0

이 단계를 시도해보십시오

저장소에있는 UIImage에게 :

[[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation([UIImage imageNamed:@"yourimage.png"])forKey:@"your_key"]; 

가있는 UIImage을 취득합니다하려면

NSData* imageData = [[NSUserDefaults standardUserDefaults]objectForKey:@"your_key"]; 
UIImage* image = [UIImage imageWithData:imageData]; 
0

을 잘못 입력했기 때문에 nil이 표시되지만 이는 문자열이 아닙니다. 다음보십시오 :

NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:key]; 

또한 기술적으로 정확하지만 나는 PLIST에 저장하는 이미지를 권하고 싶지 않다 : read this answer를 자세한 내용은.

0

NSData Object 키를 "image"로 저장했기 때문에 NULL 값이 나타납니다. 그러나 NSString 개체를 검색하려고합니다. 동일한 키를 저장하고 검색 할 때마다 동일한 객체 유형을 사용해야합니다.

당신은 당신이 NSLog 위의 객체 유형을 볼 수 있습니다

NSData* imgData2=[[NSUserDefaults standardUserDefaults] objectForKey:@"image"] 
NSLog(@"nsuserdefauls is %@",imgData2); 

뭔가를 시도 할 수 있습니다.