Swift remplacer classe func

Il est facile de remplacer une méthode rapide:

class A {
   func innerValue() -> Int { return 5 }
   func getInnerValue() -> Int { return innerValue() }
}

class B: A {
   override func innerValue() -> Int { return 8 }
}

B().getInnerValue() //returns 8

Cependant je ne sais pas comment faire la même chose lorsque je déclare innerValue() comme statique (à l'aide de la class mot-clé):

class A {
   class func innerValue() -> Int { return 5 }
   func getInnerValue() -> Int {
      return A.innerValue() //ok for compiler but returns 5 instead of 8
      return self.innerValue() //error: 'A' doesn't have a member named 'innerValue'
      return innerValue() //error: Use of unresolved identifier 'innerValue'
   }
}

class B: A {
   override class func innerValue() -> Int { return 8 }
}

B().getInnerValue()

Ainsi est-il possible de Swift?

OriginalL'auteur Nikita Arkhipov | 2015-03-26