No *_*ing 1 key-value-observing ios ios5
我正在使用Apple的SquareCam演示中的viewController类.我没有更改代码,除了创建一个UIView,在示例中通过storyboard/IB设置.还要在构建设置中指定从ARC中排除.
代码使用KVO做一些动画我在removeObserver下面的行上遇到了崩溃.
我可以轻松地解决这个问题,而不是使用KVO,但我想了解这个问题 - 而且KVO更好.有时代码示例中的KVO很难遵循.例如:在下面的代码片段中,keyPaths该addObserver/removeObserver电话是不同的(在苹果的代码).它们不应该是一样的吗?
无论如何......如果有人有X光视力
- (void)teardownAVCapture
{
[videoDataOutput release];
if (videoDataOutputQueue)
dispatch_release(videoDataOutputQueue);
// CRASH HERE
[stillImageOutput removeObserver:self forKeyPath:@"isCapturingStillImage"];
[stillImageOutput release];
[previewLayer removeFromSuperlayer];
[previewLayer release];
}
Run Code Online (Sandbox Code Playgroud)
//观察者在这里设置:
stillImageOutput = [AVCaptureStillImageOutput new];
[stillImageOutput addObserver:self forKeyPath:@"capturingStillImage" options:NSKeyValueObservingOptionNew context:AVCaptureStillImageIsCapturingStillImageContext];
Run Code Online (Sandbox Code Playgroud)
我在尝试重拍图片时也遇到了这个问题,我的临时解决方案是rem代码
[stillImageOutput removeObserver:self forKeyPath:@"isCapturingStillImage"];
Run Code Online (Sandbox Code Playgroud)
并尝试打电话
[session stopRunning]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1263 次 |
| 最近记录: |