2016-03-22 3 views
5

Gibt es eine Möglichkeit, immer ein paar Bibliotheken in jede Datei zu importieren? ohne sie in einen RahmenWie zu vermeiden, das gleiche Framework für jede swift-Datei zu importieren

zum Beispiel zu setzen, statt

--MySwiftFile.swift--

import UIKit 
import Foundation 
import ... 

ich tun könnte so etwas wie zu tun haben:

--SharedImports .swift--

import UIKit 
import Foundation 
import ... 

--MySwiftFile. swift--

import SharedImports.swift 

Antwort

2

Die Antwort ist "Nein, und das ist absichtlich". Jede Datei muss den Kontext des Codes kennen, der in dieser Datei enthalten ist. Es erhält diesen Kontext aus der Menge der Importe.

Nun in dem speziellen Fall von UIKit und Foundation, sollte es der Fall sein, dass UIKit importiert Foundation, so dass ich glaube nicht, dass Sie beide in jeder Datei explizit aufrufen müssen. In den obigen Beispielen sollten Sie mit nur

import UIKit 

Es gibt Zeiten, zu erhalten, indem der Lage sein, wenn die Anwendung des Modells zum Beispiel definieren, in dem Sie eine Datei in Foundation und nicht UIKit bringen möchten.

+0

Ich lege die beiden nur als Beispiel, aber du hast Recht. Was, wenn ich ein lokales Framework in meinem Projekt hätte und im Framework, in dem diese Bibliotheken importiert wurden, muss ich sie trotzdem explizit importieren, nein? –

+0

Ja. Jede Datei wird als separate Einheit kompiliert und jede Einheit benötigt einen vollständigen Kontext, um zu wissen, was für den Code in dieser Einheit verfügbar ist. –

+0

ok, danke @scott –

Verwandte Themen