Подтвердить что ты не робот

Swift: Enum constant с типом и значением

Я знаю, константа перечисления должна быть такой, как быстрая

enum CompassPoint {
    case North
    case South
    case East
    case West
}

Но как я могу присвоить значение первому элементу, например Objective-C, как показано ниже

enum ShareButtonID : NSInteger
{
   ShareButtonIDFB = 100,
   ShareButtonIDTwitter,
   ShareButtonIDGoogleplus

}ShareButtonID;
4b9b3361

Ответ 1

Вам нужно указать enum type и затем установить значения, в приведенном ниже примере North устанавливается как 100, остальные будут 101, 102 и т.д., как и в C и Objective-C.

enum CompassPoint: Int {
    case North = 100, South, East, West
}

let rawNorth = CompassPoint.North.rawValue // => 100
let rawSouth = CompassPoint.South.rawValue // => 101
// etc.

Обновить. Замените toRaw() на rawValue.