2014-10-16 11 views
10

Io uso un framework Swift di terze parti nella mia app Swift molto spesso e vorrei utilizzarlo senza dover scrivere import ModuleName in ogni singolo file Swift più e più volte.Importare in modo implicito il modulo Swift specifico

C'è un modo per specificare le importazioni di default come è stato possibile in Objective-C utilizzando un file .pch?

Ho già controllato le impostazioni di creazione Xcode e i flag swiftc ma nessuno di questi offre questa funzionalità.

risposta

32

In realtà non c'è una soluzione molto semplice avrei potuto pensato prima ...

È sufficiente aggiungere il seguente per il vostro progetto di applicazione Objective-C colmare intestazione:

@import ModuleName; 

Swift lo pick up troppo! Non c'è bisogno di import ModuleName in ogni file Swift in cui si intende utilizzare il modulo.

+0

Funziona come un fascino. Grazie! –

+1

non funzionerà se il target che si sta creando è un framework Swift dipendente da altri moduli poiché le intestazioni di bridge non sono consentite –

+3

@MaxMacLeod yep questo funziona solo per target di app. Per i framework non sembra esserci alcuna funzionalità o soluzione alternativa per ottenere lo stesso risultato. Ma mi ci sono abituato :) – fluidsonic

3

No, non esiste alcun analogo Swift per i file Objective-C .pch.

Si potrebbe evidentemente ridurre il numero di dichiarazioni di importazione creando un framework di riferimento ombrello che include un certo numero di altri moduli, ma non c'è modo di evitare le importazioni esplicite di moduli dipendenti a titolo definitivo.

+2

Grazie per la risposta mattt. Immagino tu abbia ragione sul fatto che non esiste un modo standard per farlo in Swift. Ma ho trovato un modo per ottenere lo stesso risultato semplicemente usando '@ import' nell'intestazione di bridging di ObjC! – fluidsonic

+0

Swift ha file '.swiftmodule' che sono importabili quando si fornisce il suo dirname come valore per l'argomento' -I' di 'swiftc'. [SWM (Swift Modules)] (http://github.com/jankuca/swm) può aiutare molto con questi. –

Problemi correlati