Latest web development tutorials

estructura Swift

estructura Swift es el código utilizado para construir una estructura común y flexible.

Podemos definir las propiedades de la estructura (constantes, variables) y añadir métodos para extender la estructura funcional.

C y Objective C es diferente:

  • La estructura no será necesario incluir en el archivo de implementación y las interfaces.

  • Estructura nos permite crear un único archivo, y el sistema generará automáticamente el código para otras interfaces externas.

Estructura siempre ser replicado por medio de la transferencia en el código, por lo que su valor no puede ser modificado.

gramática

Se define la estructura a través de la palabra clave struct:

struct nameStruct { 
   Definition 1
   Definition 2
   ……
   Definition N
}

Ejemplos

Definimos una estructura llamada MarkStruct, las propiedades de la estructura para que los estudiantes puntuación de tres sujetos, el tipo de datos int:

struct MarkStruct{
   var mark1: Int
   var mark2: Int
   var mark3: Int
}

Podemos llegar a una estructura por nombre de la estructura.

Los ejemplos de la estructura utilizando la palabra clavelet:

import Cocoa

struct studentMarks {
   var mark1 = 100
   var mark2 = 78
   var mark3 = 98
}
let marks = studentMarks()
print("Mark1 是 \(marks.mark1)")
print("Mark2 是 \(marks.mark2)")
print("Mark3 是 \(marks.mark3)")

La salida por encima de la ejecución del programa es:

Mark1 是 100
Mark2 是 78
Mark3 是 98

Ejemplo, el acceso de los studentMarks 'al rendimiento de los estudiantes a través del nombre de la estructura. miembro de estructura se inicializa a mark1, mark2, Mark3, tipo de datos entero.

A continuación, utilizamos losvamos a studentMarks estructura palabra () se crea una instancia y se pasa a las marcas.

Por último, pasamos númerovalor para acceder al miembro de estructura.

Los valores tradicionales y la clonación de una estructura se crea una instancia por los siguientes ejemplos de la estructura:

import Cocoa

struct MarksStruct {
   var mark: Int

   init(mark: Int) {
      self.mark = mark
   }
}
var aStruct = MarksStruct(mark: 98)
var bStruct = aStruct // aStruct 和 bStruct 是使用相同值的结构体!
bStruct.mark = 97
print(aStruct.mark) // 98
print(bStruct.mark) // 97

La salida por encima de la ejecución del programa es:

98
97

estructura de la aplicación

En su código, puede definir sus estructuras de tipos de datos personalizados.

Los ejemplos de la estructura es siempre la de definir los tipos de datos personalizados pasados ​​por valor.

De acuerdo con la regla general, cuando el cumplimiento de uno o más de los siguientes criterios, debe tener en cuenta la estructura del edificio:

  • El propósito principal de la estructura se utiliza para encapsular pequeñas cantidades de datos relacionados con los valores simples.
  • Razonable esperar que una asignación de instancia de estructura o transferencia, los datos encapsulados se copian, no se hace referencia.
  • Cualquier tipo de valores de la propiedad almacenada en la estructura, se copia, no se hace referencia.
  • La estructura no necesita heredar bienes u otros tipos de comportamiento ya existe.

Por ejemplo, las siguientes situaciones para el uso de la estructura:

  • tamaño y forma del envase una geométrica width la propiedad y la height la propiedad, los cuales son Double tipo.
  • Caminos dentro de un cierto rango, un paquete start propiedades y length propiedades, tanto de los cuales son Int tipo.
  • Sistema tridimensional de ese paquete de coordenadas x , y y z propiedades, tres son Double tipo.

Los ejemplos de la estructura se pasan por valor y no por referencia.

import Cocoa

struct markStruct{
    var mark1: Int
    var mark2: Int
    var mark3: Int
    
    init(mark1: Int, mark2: Int, mark3: Int){
        self.mark1 = mark1
        self.mark2 = mark2
        self.mark3 = mark3
    }
}

print("优异成绩:")
var marks = markStruct(mark1: 98, mark2: 96, mark3:100)
print(marks.mark1)
print(marks.mark2)
print(marks.mark3)

print("糟糕成绩:")
var fail = markStruct(mark1: 34, mark2: 42, mark3: 13)
print(fail.mark1)
print(fail.mark2)
print(fail.mark3)

La salida por encima de la ejecución del programa es:

优异成绩:
98
96
100
糟糕成绩:
34
42
13

El ejemplo anterior, definimos la estructura markStruct, tres miembros de la propiedad: mark1, Mark2 y Mark3. Estructura in vivo utilizando propiedades de miembro Usar la palabra clave auto.

A partir de los ejemplos que así podemos entender la instancia de estructura se pasa por valor.