Я пишу свой первый проект в Swift (я занимаюсь ObjectiveC в течение многих лет), и по какой-то причине я не могу понять, почему мой перечислитель и коммутатор не работают.
enum ContactViewMode : Int
{
case ViewModeFavourite = 0
case ViewModeRecent = 1
case ViewModeContacts = 2
}
Недвижимость
@IBInspectable var contactViewMode : Int!
Переключатель
switch contactViewMode {
case ContactViewMode.ViewModeFavourite:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
case ContactViewMode.ViewModeRecent:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
default:
contacts = DBManager.getAllContacts() as [ContactEntity]
}
Ошибка, которую я получаю, Событие Enum 'ViewModeFavourite' не является членом типа 'Int!'
Итак, я изменил его на это, поскольку это не Int! (Мне нужен Int! Для раскадровки)
var contactMode:Int = contactViewMode
switch contactMode {
case .ViewModeFavourite:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
case .ViewModeRecent:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
default:
contacts = DBManager.getAllContacts() as [ContactEntity]
}
Тогда я получаю Шаблон case Enum не может соответствовать значениям типа non-enum 'Int'