Arten von Swift Eigenschaften

bei Bedarf (in der Regel in Code von Ziel # 8208-C umgewandelt) in Swift, sind Träger Variablen explizit deklariert. Auch Getter braucht nicht verwenden bekommen Stichwort. Swift Eigenschaften können Variablen sein oder jede Art constants- kann entweder gespeichert oder berechnet werden, wie folgt:

  • Deklarieren einer variablen Eigenschaft: Eine Variable wird mit dem Schlüsselwort eingeführt var wie in:

    var _fetchedResultsController: NSFetchedResultsController? = nil
  • Deklarieren einer konstanten Eigenschaft: Eine Konstante (das heißt, eine Eigenschaft, die nicht geändert werden können) mit dem Schlüsselwort let eingeführt. Die bisherige Erklärung kann geändert werden, um eine Konstante zu deklarieren, wie folgt:

    lassen _fetchedResultsController: NSFetchedResultsController? = nil
  • Die Ausrufung eines gespeicherten Eigenschaft: Die Erklärung von _fetchedResultsController in der folgenden Auflistung dargestellt ist eine typische Erklärung ein gespeichert Eigenschaft. Eine gespeicherte Eigenschaft ist eine Eigenschaft als Teil einer Instanz der Klasse, Aufzählung gespeichert oder Struktur.

    // MARK: - Fetched Ergebnisse controllervar fetchedResultsController:! NSFetchedResultsController {if _fetchedResultsController = nil {_fetchedResultsController zurück} lassen fetchRequest = NSFetchRequest (), um den Entity-Namen als appropriate.let Einheit // Edit = NSEntityDescription.entityForName ( "Ereignis", inManagedObjectContext: ! self.managedObjectContext) fetchRequest.entity = Einheit // die Chargengröße auf einen geeigneten number.fetchRequest.fetchBatchSize Set = 20 // Bearbeiten der Sortierschlüssel als appropriate.let SortDescriptor = NSSortDescriptor (Schlüssel: "Timestamp", aufsteigend: false) lassen sortDescriptors = [SortDescriptor] fetchRequest.sortDescriptors = [SortDescriptor] // ändern Sie den Abschnitt Name Schlüsselpfad und Cache-Namen, wenn appropriate.// nil für Abschnittsnamen Schlüsselpfad bedeutet "keine Abschnitte" .let aFetchedResultsController = NSFetchedResultsController (fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: nil, cachename: "Master") aFetchedResultsController.delegate = self_fetchedResultsController = aFetchedResultsControllervar Fehler: NSError? = Nilif! _fetchedResultsController! .performFetch (Fehler) {// Ersetzen Sie diese Implementierung mit Code zu behandeln // der Fehler appropriately.// abbrechen () bewirkt, dass die Anwendung eine // Crash-Protokoll zu erzeugen und zu beenden. Sie sollten nicht diese // Funktion in einem Versand Anwendung zu verwenden, obwohl es während development.println ( "Ungelöste Fehler (Fehler), (error.userInfo)") abbrechen () nützlich sein, // kann} return _fetchedResultsController!} Var _fetchedResultsController: NSFetchedResultsController? = NilBy standardmäßig die Variable in die Setter übergeben wird newValue genannt, 
    und Swift verwendet den entsprechenden Typ dafür.

    In diesem Beispiel wird ein Ziel # 8208-C-Muster für eine Trägervariable: Swift gespeicherten Eigenschaften müssen nicht jedoch mit einem Sonderzeichen wie zum Beispiel ein underscore- zu beginnen, sie brauchen einen Typ (vielleicht die sich schon aus der initialisierte und gegeben werden Initialisierung), bevor sie verwendet werden.

    var _fetchedResultsController: NSFetchedResultsController? = nil
  • Deklarieren einer berechneten Eigenschaft mit einem Getter und Setter: Dieser Punkt verdient ein wenig Aufklärung. Die Auflistung zeigt eine grundlegende Getter und Setter eines Swift-Eigenschaft. Du kannst das sehen meineVar eine Trägervariable myInt. Das bekommen und Set Schlüsselwörter identifizieren die Getter und Setter.

    var myInt: Int = 0var myVar: Int {get {return myInt} gesetzt {myInt = newValue}} myVar = 20

    Dies ist, wie Sie ein erstellen berechnete Eigenschaft.

Zusätzlich zu den Getter und Setter in der folgenden Abbildung gezeigt, können Sie Beobachter verwenden, wie in der nächsten Auflistung gezeigt. Dieser Code ist in der DetailViewController.swift Datei von Locatapp (aus dem Master # 8208-Details Anwendungsvorlage).

bild0.jpg
var detailItem: ANYOBJECT? {DidSet {// die view.self.configureView Update ()}} einen Haltepunkt in dieser Methode einstellen und die App in iOS Simulator laufen. Die Schaltfläche bewirkt, dass die Methode aufgerufen werden.

Dies ist ein guter Ort, um einen Blick Updater zu nennen (das ist genau das, was in der Vorlage durchgeführt wird). Es gibt zwei Beobachter Sie verwenden können:

  • didSetDieses wird nach der Tatsache genannt.

  • willSet: Dieser kurz vor der Einstellung geschieht genannt.

Menü