2015-04-16 6 views
9

Ich habe eine Objective-C-Klasse in einer .h Datei ähnlich wie diese migrieren Zusammenfassend möchte ich, dass mehrere globale Variablen vorhanden sind, ohne dass eine Klasse instanziert werden muss, nur um auf sie zuzugreifen, indem ihre Datei importiert wird. Was ist der beste Weg dies in Swift zu tun?Wie Objective-C extern Konstanten Swift

Dank

EDIT: über Swift globale Variablen von Objective-C-Code bekommen, ist es nicht möglich ist (siehe diese post).

Um solche globalen Variablen sichtbar in Objective-C-Code zu machen, mache ich dies in der Swift-Datei:

class GlobalTags: NSObject { 
    static let showMessages: Bool = true; 
} 

dies der richtige/beste Weg sei, zu tun?

Antwort

7

ist es einfach. In Ihrer Konstants.swift-Datei:

let kStringConstKey : String = "YourKey" 
let kBoolConstKey : Bool = true 
let kIntConstKey : Int = 34 
let kDoubleConstKey : Double = 25.0 
+0

Sie brauchen sie nicht innerhalb einer Klasse oder innerhalb einer anderen Datenstruktur zu definieren? – AppsDev

+0

nein. In Ihrer Constant.swift-Datei. Entfernen Sie einfach den Klassenkörper und schreiben Sie diese Zeilen einfach auf. Ohne irgendeine Klassen- oder Datenstruktur. Außerdem. Swift benötigt keine zu importierenden Dateien, wenn sie in swift und im selben Projektarbeitsbereich entwickelt wurden. – Saad

+1

Es sieht so aus, als ob ich sie nicht in eine Objective-C-Klasse importieren kann ... – AppsDev

2

Erstellen Sie eine Datei wie Datei -> IOS -> Swift-Datei. Es wird leere Datei erstellen.

Ex.

import Foundation 
    let USER:Int = 0 
    let PROMOTER:Int = 1 
    let NETWORKERROR_DESC = "Network not reachable.Please check internet connection" as String 
    let NETWORKERROR_Title = "Network Unavilable" as String 

Jetzt kann ich USER von überall in der Anwendung zugreifen.

+0

Danke für die Antwort – AppsDev