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 laheight
la propiedad, los cuales sonDouble
tipo. - Caminos dentro de un cierto rango, un paquete
start
propiedades ylength
propiedades, tanto de los cuales sonInt
tipo. - Sistema tridimensional de ese paquete de coordenadas
x
,y
yz
propiedades, tres sonDouble
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.