我想存儲和檢索從我的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;
}
這工作完美。當我按下按鈕時,它顯示了我剛剛拍攝的圖像,但我如何才能讓圖像自動出現?我已經嘗試將按鈕代碼放在一個void陳述中,例如-(void)test
,然後在拍攝照片後我撥打[self test]
。這沒有用。我甚至試圖像這樣自動調用按鈕按鈕,但沒有運氣。
[self performSelector: @selector(test:) withObject:self afterDelay: 0.0];
什麼類型的對象是self.imgView? imgView如何連接到NSUserDefaults?你是否嘗試過在調試器中使用'-test:'來檢查它是否工作並且哪裏不工作,並比較哪些不同? self.imgView在那些時候有什麼價值?當你沒有從按鈕調用它時,你從哪裏調用'-test:'? – uliwitness