Swift: estructuras de modelos, usando opciones opcionales vs inicialización de valores vacíos

EnSwift, por ejemplo, tengo unstruct para estomodel:

struct Message {
    var message: String = ""
    var timestamp: String = ""
    var id: String = ""
}

Y estaría instanciando múltiplesMessages usando estostruct desde una base de datos, y luego llenar unTableView con ellos.

¿Sería una buena práctica usar opciones en lugar de establecer estas variables con cadenas vacías como tales?

struct Message {
    var message: String?
    var timestamp: String?
    var id: String?
}

¿Sería más eficiente establecer básicamente las variables ennil vs unempty string? Hacenil tomar menos memoria vsempty string?

Respuestas a la pregunta(2)

Su respuesta a la pregunta