Ich habe Apples Dokumentation für Swift gelesen und kann nichts darüber finden, wie Module erstellt oder Klassen- oder Strukturmitglieder als privat oder öffentlich definiert werden.
Es gibt Verweise auf die import-Anweisung in der Syntax, aber ich kann keine Informationen darüber finden, was sie tut oder wie sie verwendet wird.
Weiß jemand, wo ich das finden kann?
Antworten:
Aktualisieren
Sie können ein schnelles Projekt mithilfe von Frameworks modularisieren.
Wir modularisieren, indem wir für jedes Modul separate Framework-Projekte erstellen und diese über den Xcode-Arbeitsbereich verknüpfen. Es sieht natürlicher aus, wenn wir die Komponenten in verschiedene Projekte aufteilen und sicherstellen, dass nur eine einseitige Kommunikation zwischen den Modulen besteht. Entwickler können isoliert arbeiten / testen, ohne viel über andere Module nachzudenken.
Standardmäßig haben Klassen / Strukturen / usw., die in einem Framework erstellt wurden, einen
internal
Zugriffskontrolltyp, sodass er nur in den Modulen sichtbar ist. Um es außerhalb des Moduls sichtbar zu machen, können Sie es machenpublic
.Weitere Informationen zur Zugriffskontrollebene finden Sie hier
Das neueste Beta-Update für Xcode 6 (Beta 4) ermöglicht eine schnelle Zugriffskontrolle
quelle
In Swift bezieht sich "Module" auf Frameworks. Xcode verfügt jetzt über eine Vorlage zum Erstellen eines Framework-Projekts für iOS und OS X.
Derzeit gibt es keine Möglichkeit, Methoden oder Eigenschaften als öffentlich / geschützt zu deklarieren. Wenn Sie möchten, dass dies als Feature hinzugefügt wird, können Sie eine Feature-Anfrage bei Apples Bug Reporter stellen . Es sollte auch beachtet werden, dass Apple angegeben hat, dass sich die Sprache mit jeder Version von Xcode ändern kann, sodass es möglich ist, dass Mitgliederzugriffsebenen vor der öffentlichen Version hinzugefügt werden.
quelle
Es gibt auch eine Möglichkeit, ein Modul selbst zu erstellen, aber es ist etwas schwieriger.
Wenn man sich anschaut , werden
xcrun swift -help
Sie vielleicht ein paar Optionen sehen, und es gibt-emit-module
,-emit-library
und-emit-object
die vielleicht nützlich sein, aber wahrscheinlich sollten Sie offiziellen Weg bevorzugen und verteilen Module über Frameworks.Wenn Sie das Modul dennoch selbst erstellen möchten, können Sie dieses Handbuch mit einigen Erklärungen lesen
quelle
swiftmodule
benutzen kann--sdk iphoneos
..swiftmodule
Binärdateien zu erstellen - github.com/jankuca/swmApple erwähnte, dass private Methoden noch nicht existieren, aber gerade implementiert werden. Denken Sie daran, dass dies eine neugeborene Sprache ist und sich noch im Aufbau befindet.
quelle
Swift 4.0
Beschreibung aus dem Kapitel "Zugriffskontrolle" im Apple-Buch " The Swift Programming Language (Swift 4 Edition) "
quelle