2015-07-25 12 views
5

Sagen wir, ich habe eine App, MyApp, die in einem Xcode-Arbeitsbereich gebaut wird. In diesem Arbeitsbereich habe ich das primäre App-Ziel und zwei verschachtelte Xcode-Projekte für meine Frameworks, Foo und Bar.Submodule in Swift

In meiner App importiere ich Foo und Bar und Abhängigkeit injizieren ein Objekt in Foo in ein Objekt in Bar. Sag aber, ich brauche nicht alles von Foo, nur ein paar Klassen. Wie könnte ich ein Submodul innerhalb von foo erstellen und dieses importieren? Z.B.

Import Foo.Models.Animals.Dog

Antwort

7

Während Sie können etwas tun, wie

import struct MyModule.MyStruct 

import func Darwin.glob 

Ich bin nicht sicher, ob Sie viel tiefer bekommen. Hier ist ein relevantes Zitat aus den (free) Swift book

„genauen Grenzen schaffen, die Symbole importiert werden-Sie können ein bestimmtes Modul angeben oder eine bestimmte Erklärung innerhalb eines Moduls oder Submodul. Wenn diese detaillierte Form verwendet wird, nur das importierte Symbol (und das Modul nicht, dass es erklärt) in dem aktuellen Bereich zur Verfügung gestellt.“

Es geht weiter zu erklären, dass Sie eine typealias importieren, struct, class, enum, , var oder func

Es sieht aus, als ob Swift irgendeine Art von Unterstützung für Submodule hat (sie sind erwähnt ein paar Plätze Stegreif), aber ich bin nicht sicher, dass wir die Fähigkeit, tatsächlich zu kompilieren diese gerade noch.