我正在使用自定义相机开发应用程序,并且我使用了 captureOutput 方法(可以说是 A),它是 AVCaptureVideoDataOutputSampleBufferDelegate 的委托方法。
我使用了另一个函数(比方说 B),它的行为类似于 javascripts 中的 setTimeout。
当我在 A 中调用 B 时,它不会被调用。
这是我的代码
func captureOutput(captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!) {
setTimeout(1) { () -> Void in
//piece of code i want to run
}
}
func setTimeout(delay:NSTimeInterval, block:()->Void) -> NSTimer {
return NSTimer.scheduledTimerWithTimeInterval(delay, target: NSBlockOperation(block: block), selector: "main", userInfo: nil, repeats: false);
}
当我在 viewDidLoad() 中调用 setTimeout 方法时,它工作正常。但是在这个特定的方法中,它没有被调用。有人可以给我一个解决方案。任何帮助将不胜感激。
编辑:对我的代码不起作用的原因感到困惑。任何想法?