Hier ist eine einfache Verwendung eines statischen Element innerhalb einer Instanz-Methode:Warum bekomme ich "Statisches Mitglied '...' kann nicht auf Instanz vom Typ '...'" Fehler verwendet werden?
public struct RankSet {
private let rankSet : UInt8
static let counts : [UInt8] = [
0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
... // More of the same
4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
]
public var count : Int {
get {
// The error is on the following line
return Int(counts[Int(rankSet)])
}
}
}
Swift erzeugt den folgenden Fehler:
Static member
'counts'
cannot be used on instance of type'RankSet'
Da statische Mitglieder von allen Instanzen meiner Klasse gemeinsam genutzt werden, alle Instanz Mitglieder, einschließlich count
, sollten Zugriff auf das Mitglied counts
haben. Was geht hier vor sich?