gpt4 book ai didi

ios - 删除 keyValue 观察者时崩溃(使用 Apple SquareCam 示例代码)

转载 作者:行者123 更新时间:2023-12-01 17:19:47 28 4
gpt4 key购买 nike

我正在使用 Apple 的 SquareCam 演示中的 viewController 类。除了创建一个 UIView 之外,我没有更改代码,该示例在示例中是通过 Storyboard /IB 设置的。还要在build设置中指定从 ARC 中排除。

代码使用 KVO 做一些动画我在 removeObserver 上崩溃了下面的行。

我可以轻松解决这个问题而不使用 KVO,但我想了解这个问题 - 并且更好地了解 KVO。有时代码示例中的 KVO 很难遵循。例如:在下面的片段中,keyPaths对于addObserver/removeObserver调用是不同的(在 Apple 的代码中)。他们不应该是一样的吗?

无论如何...如果有人有 X 光视力

- (void)teardownAVCapture
{
[videoDataOutput release];
if (videoDataOutputQueue)
dispatch_release(videoDataOutputQueue);

// CRASH HERE
[stillImageOutput removeObserver:self forKeyPath:@"isCapturingStillImage"];

[stillImageOutput release];
[previewLayer removeFromSuperlayer];
[previewLayer release];
}

//这里设置了观察者:
    stillImageOutput = [AVCaptureStillImageOutput new];
[stillImageOutput addObserver:self forKeyPath:@"capturingStillImage" options:NSKeyValueObservingOptionNew context:AVCaptureStillImageIsCapturingStillImageContext];

最佳答案

我在尝试重新拍照时也遇到了这个问题,我的临时解决方案是 rem that code

[stillImageOutput removeObserver:self forKeyPath:@"isCapturingStillImage"];

并尝试打电话
[session stopRunning]

关于ios - 删除 keyValue 观察者时崩溃(使用 Apple SquareCam 示例代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404479/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com