2016-11-04 2 views
0

내 avcapturesession에서 가져온 이미지를 저장하고 검색하려고합니다. 버튼 인쇄기로이 작업을 수행 할 수 있었지만 찍은 후에 이미지가 자동으로 나타나게하고 싶습니다. IBAction 프레스로 잘 작동합니다. 여기 제가 한 일이 있습니다. 나는 avcapture에서 캡처 한 이미지 표시

UIImage *Capture = [UIImage imageWithData:self.jpegPhotoData]; 
capturetest = Capture; 
NSData *imageData; 
imageData = [NSKeyedArchiver archivedDataWithRootObject:Capture]; 
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"image"]; 

그런 다음이 코드를 사용하여 버튼을 누를 때 NSUserDefaults 불리는이 코드를 사용자 기본값으로 이미지를 저장.

-(IBAction)test:(id)sender 
{ 
    NSLog(@"WAS IT PRESSED"); 
    NSData *imageData1; 
    imageData1 = [[NSUserDefaults standardUserDefaults] objectForKey:@"image"]; 
    capturetest = [NSKeyedUnarchiver unarchiveObjectWithData: imageData1]; 
    self.imgView.image = capture test; 
} 

완벽하게 작동했습니다. 버튼을 누르면 방금 찍은 이미지가 표시되었지만 이미지가 자동으로 나타나게하려면 어떻게해야합니까? 나는 [self test]라는 사진을 찍은 후 -(void)test처럼 void 문 안에 버튼 코드를 넣으려고했다. 그것은 작동하지 않았다. 나는 심지어 이것처럼 자동으로 버튼 누름을 호출하려고했지만 운이 없다. 당신은 하나 개의 임시 글로벌있는 UIImage 객체를 가지고 당신이 사진을 촬영하면 다음 해당 개체에 이미지를 저장하고 필요할 때마다 사용하는 하나의 일을 할 수

[self performSelector: @selector(test:) withObject:self afterDelay: 0.0]; 
+0

self.imgView 객체의 유형은 무엇입니까? imgView는 NSUserDefaults에 어떻게 연결되어 있습니까? 디버거에서 작동하는 곳과 작동하지 않는 곳에서 무엇이 다른지 비교하기 위해'테스트 :'를 실행 해 보았습니까? 그 당시 self.imgView는 어떤 가치가 있습니까? 버튼에서 호출하지 않을 때 어디에서'테스트 :'를 호출할까요? – uliwitness

답변

0
UIImage *Capture = [UIImage imageWithData:self.jpegPhotoData]; 
globalObject = Capture; 

.

0

같은 필요한 컨트롤러로 이미지를 반환 대리인을, 쓰기 YourImageController.h

@protocol ImageSendingDelegate <NSObject> 

-(void)ServiceResponse :(UIImage *)currentImage; 
@end 

@interface YourImageController : ....... 

@property(strong,nonatomic)id <ImageSendingDelegate>IDelegate; 

YourImageController.m 당신이

UIimage *image = [UIImage imageWithData:self.photoData]; 

[_IDelegate ServiceResponse:image]; 

수입 이미지 데이터를 얻을 수 YourImageController.h DesireController.h에서

,210

DesireCOntroller.m

if(_delegateObject==nil) 
{ 
_delegateObject=[[YourImageController alloc]init]; 

    _delegateObject.IDelegate=self 

} 

-(void)ServiceResponse:(UIImage *)currentImage 
{ 

UIimage *IamgeRecived=currentImage; 

NSLog(@"\n\n\n\n geting image"); 

} 
관련 문제