Tipos de propiedades rápidas

En Swift, las variables de respaldo se declaran explícitamente, si es necesario (por lo general en el código convertido de Objetivo-C). Además, captadores no necesitan utilizar la obtener palabra clave. propiedades Swift pueden ser las variables o constants- cada tipo puede ser almacenado o calculado ya sea, como sigue:

  • La declaración de una propiedad de variable: Una variable se introduce con la palabra clave var como en:

    var _fetchedResultsController: NSFetchedResultsController? = nil
  • La declaración de una propiedad constante: Una constante (es decir, una propiedad que no puede ser modificada) se introduce con la palabra clave let. La declaración anterior se puede cambiar para declarar una constante de la siguiente manera:

    dejar que _fetchedResultsController: NSFetchedResultsController? = nil
  • La declaración de una propiedad almacenada: La declaración de _fetchedResultsController se muestra en el siguiente listado es una declaración típica de una almacenado en la propiedad. Una propiedad almacenado es una propiedad almacenada como parte de una instancia de la clase, enumeración, o estructura.

    // MARCA: - Resultados descabellada controllervar fetchedResultsController: NSFetchedResultsController {if _fetchedResultsController = nil} {return _fetchedResultsController dejar que fetchRequest = NSFetchRequest () // Editar el nombre de la entidad como entidad appropriate.let = NSEntityDescription.entityForName (!!"Evento", InManagedObjectContext: self.managedObjectContext) fetchRequest.entity = entidad // Establecer el tamaño del lote a una adecuada number.fetchRequest.fetchBatchSize = 20 // Modificar la clave de ordenación como appropriate.let SortDescriptor = NSSortDescriptor (clave:"timeStamp", Ascendente: falso) dejó sortDescriptors = [] SortDescriptor fetchRequest.sortDescriptors = [SortDescriptor] // Modificar el nombre de sección ruta y el nombre de la clave de caché si appropriate.// cero en el caso de nombres de sección de medios de recorrido clave "sin secciones"¡Deje aFetchedResultsController = NSFetchedResultsController (fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: cero, cacheName: "Dominar") = AFetchedResultsController.delegate self_fetchedResultsController = aFetchedResultsControllervar error: NSError? = Nilif! _fetchedResultsController! .performFetch (&error) {// Reemplazar esta aplicación con código para manejar el error // appropriately.// abortar () hace que la aplicación para generar un registro de bloqueo // y terminar. Usted no debe usar esta función // en una aplicación de envío, aunque // puede ser útil durante development.println ("error sin resolver (error), (error.userInfo)") ABORTO ()}} _fetchedResultsController volver _fetchedResultsController var: NSFetchedResultsController? = Por defecto nilBy, la variable pasada en el colocador se llama nuevoValor, 
    y Swift utiliza el tipo apropiado para ello.

    El ejemplo utiliza un patrón de Objective-C para una variable respaldo: propiedades Swift almacenado no necesitan comenzar con un carácter especial, como sin embargo un underscore-, que necesitan ser inicializado y dado un tipo (quizás inferirse de la inicialización) antes de ser utilizados.

    var _fetchedResultsController: NSFetchedResultsController? = nil
  • La declaración de una propiedad calculada con un getter y setter: Este punto merece un poco de esclarecimiento. La lista muestra un captador básica y colocador de una propiedad Swift. Puedes ver eso miVar tiene una variable respaldo de myInt. los obtener y conjunto palabras clave identifican el getter y setter.

    var myInt: Int = 0var miVar: Int {get {} myInt retorno conjunto {myInt = nuevoValor}} = 20 miVar

    Así es como se crea una propiedad computarizada.

Además de los captadores y definidores que se muestran en la siguiente figura, puede utilizar los observadores como se muestra en la siguiente lista. Este es el código de la DetailViewController.swift archivo de Locatapp (de la plantilla Aplicación de maestro-detalle).

var detailItem: AnyObject? {DidSet {// Actualizar el view.self.configureView ()}} Establecer un punto de interrupción en este método y ejecutar la aplicación en el simulador de iOS. El botón hace que el método sea llamado.

Este es un buen lugar para llamar a una vista de actualización (que es exactamente lo que se hace en la plantilla). Hay dos observadores que puede utilizar:

  • didSet: Esto se llama después de los hechos.

  • establecerá: Esto se llama justo antes de que el ajuste ocurre.

Artículos Relacionados