В Swift тип перечисления может иметь связанные значения. Эти значения используются для хранения дополнительных данных вместе с каждым случаем перечисления. Эта функция обеспечивает большую гибкость и функциональность для типа перечисления. Вот пример типа перечисления со связанными значениями:
vbnetCopy code enum NetworkResponse { case success(String) case error(String) }
В этом примере перечисление NetworkResponse
имеет два варианта: success
и error
. Случай success
имеет связанное значение типа String
, которое используется для хранения сообщения об успехе. Случай error
также имеет связанное значение типа String
, которое используется для хранения сообщения об ошибке.
Мы можем создать экземпляр перечисления NetworkResponse
и присвоить его переменной следующим образом:
bashCopy code let response = NetworkResponse.success("Data retrieved successfully.")
В этом примере мы создали экземпляр перечисления NetworkResponse
с регистром success
и связанным значением "Data retrieved successfully."
.
Мы можем получить доступ к связанным значениям с помощью оператора switch следующим образом:
swiftCopy code switch response { case .success(let message): print(message) case .error(let message): print(message) }
В этом примере мы используем оператор switch для проверки значения переменной response
. Если response
имеет значение success
, соответствующее значение будет присвоено константе message
. Затем мы можем вывести это сообщение на консоль.
Точно так же, если response
имеет значение error
, соответствующее значение будет присвоено константе message
. Затем мы также можем вывести это сообщение на консоль.
Связанные значения обеспечивают мощный способ хранения дополнительной информации с помощью регистров enum, что делает их ценным инструментом в программировании на Swift.