Jak już wspomniałem, jestem studentem i potrzebuję trochę jaśniejszego zdefiniowania rzeczy, aby dalej postępować. Po wielu badaniach sekwencja, którą musiałem śledzić, to:
Kliknij nazwę projektu u góry Nawigatora plików po lewej stronie okna projektu Xcode. To jest wiersz zawierający nazwę projektu, liczbę celów kompilacji i wersję zestawu SDK systemu iOS.
Wybierz kartę Ustawienia kompilacji i przewiń w dół do sekcji „ Swift Compiler - Flagi niestandardowe ” u dołu. Kliknij strzałkę w dół obok pozycji Inne flagi, aby rozwinąć sekcję.
Kliknij wiersz Debug , aby go zaznaczyć. Umieść kursor myszy po prawej stronie linii i kliknij dwukrotnie. Pojawi się lista. Kliknij przycisk + w lewym dolnym rogu widoku listy, aby dodać wartość. Pole tekstowe stanie się aktywne.
W polu tekstowym wprowadź tekst -D DEBUG
i naciśnij klawisz Return, aby zatwierdzić wiersz.
Dodaj nowy plik Swift do swojego projektu. Będziesz chciał utworzyć niestandardową klasę dla pliku, więc wprowadź tekst w następujących wierszach:
class Log {
var intFor : Int
init() {
intFor = 42
}
func DLog(message: String, function: String = __FUNCTION__) {
#if DEBUG
println("\(function): \(message)")
#endif
}
}
Miałem dziś problem z zaakceptowaniem klasy przez Xcode, więc init może być nieco cięższy niż to konieczne.
Teraz będziesz musiał odwołać się do swojej niestandardowej klasy w dowolnej klasie, w której zamierzasz użyć nowej funkcji niestandardowej zamiast println()
Dodaj to jako właściwość w każdej odpowiedniej klasie:
let logFor = Log()
Teraz można zastąpić wszystkie wystąpienia println()
z logFor.DLog()
. Dane wyjściowe zawierają również nazwę funkcji, w której wywołano wiersz.
Zauważ, że wewnątrz funkcji klasowych nie mogłem wywołać funkcji, chyba że utworzyłem kopię funkcji jako funkcja klasy w tej klasie, a println()
także jest nieco bardziej elastyczny z danymi wejściowymi, więc nie mogłem tego użyć w każdym przypadku w mój kod.