Come notato, sono uno studente e ho bisogno che le cose siano definite un po 'più chiaramente da seguire. Dopo molte ricerche, la sequenza che dovevo seguire è:
Fare clic sul nome del progetto nella parte superiore del File Navigator a sinistra della finestra del progetto Xcode. Questa è la riga che ha il nome del progetto, quanti obiettivi di compilazione ci sono e la versione dell'SDK di iOS.
Scegli la scheda Impostazioni build e scorri verso il basso fino a " Swift Compiler - Custom Flags " nella parte inferiore. Fare clic sulla freccia giù accanto ad altri contrassegni per espandere la sezione.
Fare clic sulla riga Debug per selezionarlo. Posiziona il cursore del mouse sul lato destro della linea e fai doppio clic. Apparirà una visualizzazione elenco. Clicca il + pulsante nella parte inferiore sinistra della visualizzazione elenco per aggiungere un valore. Un campo di testo diventerà attivo.
Nel campo di testo, inserisci il testo -D DEBUG
e premi Invio per confermare la riga.
Aggiungi un nuovo file Swift al tuo progetto. Hai intenzione di creare una classe personalizzata per il file, quindi inserisci il testo lungo le righe di quanto segue:
class Log {
var intFor : Int
init() {
intFor = 42
}
func DLog(message: String, function: String = __FUNCTION__) {
#if DEBUG
println("\(function): \(message)")
#endif
}
}
Oggi ho avuto problemi a far accettare la classe da Xcode, quindi l'init potrebbe essere un po 'più pesante del necessario.
Ora dovrai fare riferimento alla tua classe personalizzata in qualsiasi classe in cui intendi utilizzare la nuova funzione personalizzata al posto di println()
Aggiungi come proprietà in ogni classe applicabile:
let logFor = Log()
Ora puoi sostituire qualsiasi istanza di println()
conlogFor.DLog()
. L'output include anche il nome della funzione in cui è stata chiamata la riga.
Si noti che all'interno delle funzioni di classe non potrei chiamare la funzione a meno che non abbia creato una copia della funzione come funzione di classe in quella classe, ed println()
è anche un po 'più flessibile con l'input, quindi non potrei usarlo in ogni istanza in il mio codice.