Проблема в том, что View
- это struct
, а его поле body
- это вычисляемое свойство с немутирующим геттером.В вашем коде случается мутирующий метод, вызываемый в этом немутирующем геттере.Так что все, что вам нужно сделать, это установить проигрыватель на какую-нибудь модель:
class Model {
var player: AVPlayerPlayer()
}
struct ContentView: View {
var model = Model()
// player can be changed from anywhere
}
PS В некоторых других случаях вы можете захотеть, чтобы изменения в вашей модели были отражены в представлении, поэтому вам придется добавить @ObservedObjectнезадолго до объявления модели.
Надеюсь, это поможет