Xcode 10 GM seed: NS_OPTIONS (экспорт параметров objc) больше не компилируется - PullRequest
0 голосов
/ 13 сентября 2018
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: 

компилируется нормально, как и ожидалось

1 Ответ

0 голосов
/ 13 сентября 2018

Очевидно, в xcode 10 в некоторых случаях вы должны использовать длинную ServiceType.foo вместо компактной записи .foo прошлых лет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...