2019년 1월 8일 화요일

Type Properties


                                                                            
// Querying and Setting Type Properties

struct AudioChannel {
   static let thresholdLebel = 10
   static var maxInputLevelForAllChannels = 0
   var currentLevel: Int = 0 {
       didSet {
           if currentLevel > AudioChannel.thresholdLebel {
               currentLevel = AudioChannel.thresholdLebel
           }
           if currentLevel > AudioChannel.maxInputLevelForAllChannels {
               AudioChannel.maxInputLevelForAllChannels = currentLevel
           }
       }
   }
}

var leftChannel = AudioChannel()
var rightChannel = AudioChannel()
leftChannel.currentLevel = 7
print(leftChannel.currentLevel)
print(AudioChannel.maxInputLevelForAllChannels)

rightChannel.currentLevel = 11
print(rightChannel.currentLevel)
print(AudioChannel.maxInputLevelForAllChannels)