typedef NS_OPTIONS(NSInteger, ServiceType) {
foo = 1 << 0,
bar = 1 << 1,
AllServices = 0x3
};
теперь приводит к baz.swift: 136: 15: регистр перечисления 'foo' не найден в типе 'ServiceType?'
Что я тут опять делаю неправильно?
Это работало в xcode 9.4.1
Случаи, когда это не работает:
ключ к словарю:
[ServiceType.foo.rawValue: somevalue, ....
это:
[.foo.rawValue: somevalue, ....
работает в 9.4.1 (но не в 10)
О, в случаях, когда ServiceType является принудительно развернутым var в enum
let s: ServiceType!
....
switch(s)
{
case ServiceType.foo:
компилирует (а компактная запись не делает)
это:
let s: ServiceType
....
switch(s)
{
case .foo:
компилируется нормально, как и ожидалось