Мой быстрый код ниже в классе 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()
}
}