get컴퓨티드 프로퍼티활용

작성일

get컴퓨티드 프로퍼티활용

class Sword { //공격할때마다 내구도가 감소하는 무기 클래스
  var durability = 100 // 내구도
  //무기의 내구도에 따라 가져올때 값이 변하는 변수
  var itemInfo: String { //아이템 설명
    get {
      switch durability {
        case 50...100:
          return "음~ 아주 명검이야 후후후"
        case 10...50:
          return  "아직 쓸만 하군"
        default:
          return "더이상 쓸것이 못된다.."
      }
    }
  } // 무기사용으로 내구도가 감소하는 메소드
  func attackedMonster() {
    self.durability = self.durability - 40
  }
}
let mySword = Sword()
mySword.attackedMonster()
print(mySword.itemInfo)
mySword.attackedMonster()
print(mySword.itemInfo)
mySword.attackedMonster()
print(mySword.itemInfo)

출력

음~ 아주 명검이야 후후후
아직 쓸만 하군
더이상 쓸것이 못된다..