Avatar ·

Cómo guardar un string en NSUserDefaults en Swift? (iOS)

¡Hola a todos! Soy nuevo en el desarrollo para iOS en Swift. Necesito guardar un string de texto simple (por ejemplo, el nombre de usuario) y luego leerlo en el próximo inicio de la aplicación. He oído que para esto se puede usar NSUserDefaults, pero no logro entender la sintaxis. Esto es lo que he probado: ```swift let defaults = NSUserDefaults.standardUserDefaults() defaults.setObject("John", forKey: "username") defaults.synchronize() ``` Pero Xcode se queja de `NSUserDefaults` — dice que es un tipo obsoleto. Estoy usando Swift 5 e iOS 15. Luego probé `UserDefaults.standard`: ```swift let defaults = UserDefaults.standard defaults.set("John", forKey: "username") defaults.synchronize() ``` Esto parece funcionar, pero no estoy seguro de si lo estoy haciendo correctamente. ¿Es necesario llamar a `synchronize()`? ¿Cómo leo luego este string? ¿Y qué pasa si la clave aún no existe en el almacenamiento? ¿La aplicación fallará? También quiero entender: ¿se puede guardar no solo un string, sino también un número, un array o un dictionary? ¿Y qué otras opciones hay?