2013-12-15 77 views
0

我正在尋找正確創建異步方法。我正在使用加載UIImagePickerController的視圖控制器。當用戶拍攝照片/或選擇照片時,我使用以下委託方法收集生成的圖像。如何在方法內的正確位置/時間執行segue

// Check if the image size is too large from the selected images imageData 
    if ((imageData.length/1024) >= 1024) { 

如果影像縮放需要我運行另一種方法:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 

在這個方法中,如果需要用下面我縮小圖像尺寸。如果尺寸合適,我什麼都不做,繼續。

一旦上述完成我Segue公司到另一個控制器:

[self performSegueWithIdentifier:@"photoArea" sender:self]; 

問題
我怎樣才能使這個方法異步?我需要做的只是在圖像縮放完成後調用performSegue方法......如果需要的話。我需要確保這只是在正確的位置調用,而不是貫穿方法。

目前,可以調用segue,而圖片大小仍然存在。我知道塊,但這是完成異步方法的唯一方法,對於像這樣簡單的東西?

+0

你如何調整圖像大小? – Wain

+0

@Wain - 我覺得這不重要,我打電話給另一種方法讓我們說[self scaleDownImage:image];在這一刻。 – StuartM

+0

調整大小需要花費太多時間以至於需要在後臺運行它,或者您正在主線程上運行它嗎? – rdelmar

回答

1

您可以創建一個具有併發性的NSOperationQueue,並使用segue調用將縮放操作作爲單獨操作提交給它。如果不需要縮放,則會立即發生延遲。

相關問題