可以在UserDefaults中保存嵌套的枚举吗?

假设我有以下枚举:

enum UserState { case LoggedIn(LoggedInState) case LoggedOut(LoggedOutState) } enum LoggedInState { case Playing case Paused case Stopped } enum LoggedOutState { case Unregistered case Registered } 

有没有办法将UserState保存到UserDefaults

您可以使用Codable协议将枚举转换为可以保存在UserDefaults中的表示forms。 本教程可能会给你一个kickstart。