ich versucht bin die folgende Bibliothek in mein Projekt umzusetzen:Schutzstufe Probleme, wenn eine Struktur innerhalb einer Erweiterung zugreifen
https://github.com/knutigro/COBezierTableView
Um dies zu verwenden, können die folgenden Eigenschaften benutzerdefinierte Werte angegeben werden:
public extension UIView {
public struct BezierPoints {
static var p1 = CGPoint.zero
static var p2 = CGPoint.zero
static var p3 = CGPoint.zero
static var p4 = CGPoint.zero
}
}
In meinem MainVC dies ist wie folgt konfiguriert:
UIView.BezierPoints.p1 = CGPoint(...
UIView.BezierPoints.p2 = CGPoint(...
UIView.BezierPoints.p3 = CGPoint(...
UIView.BezierPoints.p4 = CGPoint(...
Im Swift 2.3 Demo-Projekt gibt es keine Fehler. In einem Swift 3-Projekt erhalte ich den Fehler:
"p1 ist aufgrund der 'internen' Schutzstufe nicht erreichbar."
Kann jemand bitte etwas Licht auf das Problem hier werfen, ich rate, Swift 3 hat einige neue hinter den Kulissen Berechtigungen übernehmen, die überschrieben werden müssen.
Oh natürlich! Es war mir nicht in den Sinn gekommen, dass das Demo-Projekt nicht die gleichen Ziele hatte. Das Ändern der Eigenschaften zu öffentlich löste dieses Problem, und ich fand auch diese nützliche Ressource https://www.andrewcbancroft.com/2015/04/22/3-nuances-of-swift-extensions/ –