проверить переключатель из другого класса, чтобы определить, играет ли звук звук или нет - PullRequest
1 голос
/ 14 марта 2020

Мой быстрый код ниже в классе ViewController имеет переключатель, который определяет погоду или нет звук будет играть. Если переключатель включен в классе ViewController. Я хочу, чтобы звук играл в классе Майк Тайсон. Я хочу, чтобы контроллер представления класса контролировал звук в классе mikeTyson.

import UIKit;import AVFoundation

class ViewController: UIViewController {
var player: AVAudioPlayer!
var switchy = UISwitch()

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    [switchy].forEach({
        $0.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview($0)

    })
    switchy.addTarget(self, action: #selector(craigPatrick), for: .allEvents)
    NSLayoutConstraint.activate([
        switchy.centerYAnchor.constraint(equalTo: view.centerYAnchor),
        switchy.leadingAnchor.constraint(equalTo: view.leadingAnchor)

    ])


    playSound()
}

@objc func craigPatrick(){

    if switchy.isOn == true {
        playSound()
    } else {
        player.stop()
    }

}


func playSound() {
    let url = Bundle.main.url(forResource: "poker", withExtension: "mp3")!

    do {
        player = try AVAudioPlayer(contentsOf: url)
        guard let player = player else { return }

        player.prepareToPlay()
        player.play()

    } catch let error as NSError {
        print(error.description)
    }
}


}
       class mikeTyson: UIViewController {

//check the switch of view controller
override func viewDidLoad() {
    super.viewDidLoad()

}
   }
...