2015-07-19 6 views
0
enum ConditionType { 
    case Normal 
    case Sick 
    case Plagued 
    case Poisoned(Double) 
    case Drunk(Double) 
    case Healing(Double) 
    case Starving 
    case NearDeath(Double) 
    case Sleepy 
} 

var conditions: [ConditionType] 

func addCondition(condition: ConditionType) { 
    if conditions.contains(condition) == false { 
     conditions.append(condition) 
    } 
} 

В «если conditions.contains (условие) == {ложь» линия выше я получаю следующее сообщение об ошибке:Массивы, содержащие перечислений с соответствующими значениями

не может ссылаться на «содержит» со списком аргументов в '(ConditionType). Какая сделка здесь? Если я удаляю связанные значения из элементов перечисления, то он компилируется просто отлично.

Я бег XCode 7.0 Beta 3.

ответ

0

Вам нужно сделать ConditionType equatable и крейты оп ==, что объясняет, нужно ли только типам, чтобы соответствовать им быть одинаковыми или, если содержащееся в нем значение также должны чтобы соответствовать.

Смежные вопросы