Я хотел бы передать значение в функцию, которая позволяет мне выбрать, какое значение установить из списка установок. Примером использования этого может быть функция, которая должна вести себя по-разному в зависимости от «режима», в котором находится страница, например, создание нового сообщения или редактирование существующего. В настоящее время я делаю это, передавая строковый параметр в функцию с «новым» или «редактировать» в строке. Я думал, что правильный способ сделать это - создать перечисление, чтобы передаваемое значение соответствовало типу перечисления, и мне не нужно беспокоиться о том, что опечатка сломает приложение.
Я подумал, что мне просто нужно объявить перечисление с моими опциями как кейсы, а затем просто использовать его, как тип данных клиента. Это не сработало для меня, и я делаю глупую ошибку, или это не то, как это должно быть использовано.
// -------------
// Current Code
func filterBySwitch(filterOption: String){
print("You asked me to filter by \(filterOption)")
}
filterBySwitch(filterOption: "userOwns")
// -------------
// I though this is how I would pass the argument when only 3 available options
enum filterType {
case userHeart
case userOwns
case userSeen
}
func filterBySwitch(filterOption: filterType){
print("You asked me to filter by \(filterType)")
}
filterBySwitch(filterOption: .userOwns)