他のコードが最初に完了するまでメソッドの呼び出しを遅らせたい。
ボタンによってトリガーされるアクションは次のとおりです。ユーザーがバーコードをスキャンします。この他のメソッドを呼び出す前に、それを完了させたいと思います[self performSelector:@selector(otherMethod:) withObject:nil afterDelay:0.5];
。遅延を使用しようとしましたが、それは良くなく、予測できません。
- (IBAction) scanButtonTapped
{
NSLog(@"TBD: scan barcode here...");
// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;
ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here
// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
// present and release the controller
[self presentModalViewController: reader
animated: YES];
[self performSelector:@selector(otherMethod:) withObject:nil afterDelay:0.5];
}