Я хочу, чтобы init из rawValue для моего перечисления в Swift возвращал значение по умолчанию, если rawValue init вернет nil. Прямо сейчас у меня есть что-то вроде этого:
public init(fromRawValue: String){
self = Language(rawValue: fromRawValue) ?? .English
}
Мне это не нравится, потому что это совершенно новый инициализатор. Я попытался сделать что-то вроде этого:
public init(rawValue: String){
self = Language(rawValue: fromRawValue) ?? .English
}
Но у меня есть исключение во время выполнения с плохим доступом. Могу ли я как-то заставить его работать, или мне просто нужно использовать этот новый, и я не могу переопределить исходный, чтобы он не был необязательным?
Я хотел бы знать, возможно ли переопределить исходный init из rawValue, а не обходной путь, с совершенно новым, который использует отказоустойчивый.