Swift - Guardar con un botón

 
Vista:
Imágen de perfil de Víctor
Val: 6
Ha mantenido su posición en Swift (en relación al último mes)
Gráfica de Swift

Guardar con un botón

Publicado por Víctor (5 intervenciones) el 28/04/2018 07:54:52
Recién estoy comenzando con swift con un proyecto que tiene que ver con ingeniería. Quiero que se puedan guardar datos de un documento que no es el modelo del mismo. En concreto tengo un documento que tiene un modelo que es un grafo. De este se puede obtener un gráfico (una gráfica XY) en la que se pueden cambiar muchas propiedades color, grosor, etc. Deseo que pulsando un botón se pueda guardar todas esas propiedades en un fichero. Pero estoy algo perdido, no sé cómo hacerlo. Sé como guardar el documento (el grafo) pero no sé como guardar la representación gráfica, que está en otra ventana diferente.

Desearía algo de ayuda para saber por donde empezar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Guardar representación gráfica de un grafo en un archivo

Publicado por Alejandro (12 intervenciones) el 21/02/2024 20:30:06
Víctor, para guardar la representación gráfica (gráfico XY) con sus propiedades personalizadas, puedes seguir estos pasos generales en Swift:

1. Crear un objeto para almacenar propiedades gráficas:
Define una estructura o clase que represente las propiedades del gráfico que deseas guardar. Por ejemplo:

1
2
3
4
5
struct GraphProperties {
    var color: UIColor
    var grosor: CGFloat
    // Agrega más propiedades según sea necesario
}

2. Almacenar propiedades en tu controlador de vista del gráfico:
En el controlador de vista que gestiona la ventana con el gráfico, crea una instancia de `GraphProperties` y actualízala con las propiedades del gráfico cuando el usuario realice cambios. Por ejemplo:

1
2
3
4
5
6
7
8
var graphProperties = GraphProperties(color: .blue, grosor: 2.0)
 
// Función llamada cuando se cambian las propiedades del gráfico
func actualizarPropiedadesGrafico() {
    graphProperties.color = nuevoColor
    graphProperties.grosor = nuevoGrosor
    // Actualiza otras propiedades según sea necesario
}

3. Guardar las propiedades en un archivo:
Cuando el usuario pulsa el botón para guardar, guarda las propiedades en un archivo. Puedes utilizar la serialización de objetos para esto. Por ejemplo:

1
2
3
4
5
6
7
8
9
func guardarPropiedadesEnArchivo() {
    do {
        let data = try NSKeyedArchiver.archivedData(withRootObject: graphProperties, requiringSecureCoding: false)
        try data.write(to: filePath)
        print("Propiedades del gráfico guardadas con éxito.")
    } catch {
        print("Error al guardar las propiedades del gráfico: \(error.localizedDescription)")
    }
}

Asegúrate de definir `filePath` según la ubicación donde deseas guardar el archivo.

4. Cargar propiedades desde un archivo:
Si deseas cargar las propiedades más tarde, puedes implementar una función para cargarlas desde el archivo:

1
2
3
4
5
6
7
8
9
10
11
func cargarPropiedadesDesdeArchivo() {
    do {
        let data = try Data(contentsOf: filePath)
        if let loadedProperties = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? GraphProperties {
            graphProperties = loadedProperties
            print("Propiedades del gráfico cargadas con éxito.")
        }
    } catch {
        print("Error al cargar las propiedades del gráfico: \(error.localizedDescription)")
    }
}

Estos son pasos generales y puedes ajustarlos según tus necesidades específicas y la estructura de tu proyecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar