変数がゾンビであるかどうかを確認したいのですが、そうでない場合は、このような関数があります。実際に存在する場合はスーパーレイヤーから削除する必要があります。すでに削除されている場合もありますが、ゾンビであるため、クラッシュしています。この点で。実行時に変数がゾンビであるかどうかを確認するにはどうすればよいですか?
if (avPlayerLayer) {
[avPlayerLayer removeFromSuperlayer];
}
私はそれを作成するためにこのコードを持っています:
if (!avPlayer) {
avPlayer = [[AVPlayer alloc] initWithURL:movieURL];
} else {
[avPlayer replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithURL:movieURL]];
avPlayer.rate = 0.0f;
}
}
avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayer];
代わりにこのようなことをする必要がありますか?:
if (!avPlayer) {
avPlayer = [[AVPlayer alloc] initWithURL:movieURL];
} else {
avPlayer = nil;
avPlayer = [[AVPlayer alloc] initWithURL:movieURL];
avPlayer.rate = 0.0f;
}
}
avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayer];
何か助けはありますか?前もって感謝します!