Ich habe eine Hauptklasse, auch einen Namespace bereitstellt:Erweiterung eines verschachtelten Typ in Swift
class A {
}
und eine verschachtelte Klasse über eine Erweiterung hinzugefügt (alle im Interesse separate Dateien zu verwenden):
extension A {
class B {
}
}
Ich möchte Funktionalität zu der geschachtelten Klasse (B) hinzufügen, indem Sie es erweitern; Ich habe versucht:
extension A.B {
}
Ich bekomme "'B' ist kein Mitgliedstyp von 'A'".
(ich habe auch versucht, einige weniger vernünftige Dinge, aber ich werde sie hier auslassen Verlegenheit zu vermeiden. Lesen Swift-Dokumentation und für „swift verschachtelte Klassenerweiterung“ googeln haben entweder eine Antwort nicht nachgegeben.)
Jede Idee ob und wie das erreicht werden könnte?
UPDATE:
Dieser Code funktioniert wie erwartet, wenn in einer einzigen Datei (oder in einem Spielplatz), dank es zum Ausprobieren user3441734!
Funktioniert immer noch nicht, wenn die 3 Teile in separaten Dateien sind, vielleicht ein Fehler in der aktuellen Implementierung des Swift-Compilers. Ich werde einen Fehlerbericht an Apple senden.
Welche Version von Xcode/Swift verwenden Sie? –
Hallo Martin. Um es klar zu sagen, jede der Definitionen befindet sich in einer separaten Datei. In diesem Fall habe ich es gerade geschafft, das Problem in Xcode 7.3.1 mit Swift 2.2 zu reproduzieren. Wenn Sie alle Definitionen in eine Datei (wie bei den Spielplatz in Antworten unten), alles funktioniert gut. Mit anderen Worten, dies ist kein Problem mit Swift als solcher, sondern mit dem Compiler. – Baglan