0

私のプログラムは gcd で実行されています。

-(void) viewdidLoad {

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0),
    ^ {
        for(int i=0; i<screenshotNum ; i++)
        {
            NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];  

            NSString * url=[detailItem.mScreenshot objectAtIndex:i];

            NSDictionary *args=[NSDictionary dictionaryWithObjectsAndKeys:
                                [NSNumber numberWithInt:i], @"screenNum",
                                [NSString stringWithString:url],@"url",
                                nil];

                               [self loadImageScreenshot:args];

            [pool release]; 
        }
    });
}

問題はまだ実行されていdismissModalViewControllerます。

戻るボタンをタッチしたときにこれらのバックスレッドを終了したい。

-(void) BackButtonPressed:(id)sender
{
    [self dismissModalViewControllerAnimated:YES];
}

コードを追加するにはどうすればよいですか?

4

1 に答える 1

0

ディスパッチ キューで操作をキャンセルする定義済みの API はありませんが、必要に応じて特定の終了ポイントを定義できます。

詳細な説明については、このスレッドを確認してください - iOS の dispatch_async キュー内の項目を削除します

于 2012-05-17T06:41:21.213 に答える