Guest User

Untitled

a guest
Nov 23rd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. class HeartRateRecevier {
  2. var delegate: HeartRateReceiverDelegate?
  3. var currentHeartRate: Int? {
  4. didSet {
  5. if let currentHeartRate = currentHeartRate {
  6. delegate?.heartRateUpdate(to: currentHeartRate)
  7. //print("The most recent heart rate received was (currentHeartRate)")
  8. } else {
  9. print("Looks like we can't pick up a heart rate")
  10. }
  11. }
  12. }
  13.  
  14. func startHeartRateMonitoringExample(){
  15. for _ in 1...10 {
  16. let randomHeartRate = 60 + Int(arc4random_uniform(UInt32(15)))
  17. currentHeartRate = randomHeartRate
  18. Thread.sleep(forTimeInterval: 2)
  19. }
  20. }
  21. }
  22.  
  23. protocol HeartRateReceiverDelegate {
  24. func heartRateUpdate(to bpm: Int)
  25. }
  26.  
  27. class HeartRateViewController: UIViewController, HeartRateReceiverDelegate {
  28. @IBOutlet weak var heartRateLabel: UILabel!
  29. var heartRateReceiver = HeartRateRecevier()
  30.  
  31. override func viewDidLoad() {
  32. super.viewDidLoad()
  33. heartRateReceiver.delegate = self
  34. }
  35. // Here we have the mandatory function of the protocol
  36. func heartRateUpdate(to bpm: Int) {
  37. heartRateLabel.text = "The heart rate is: (bpm)"
  38. }
  39. @IBAction func beginTestButton() {
  40. heartRateReceiver.startHeartRateMonitoringExample()
  41. }
  42. }
Add Comment
Please, Sign In to add comment