Xcode 10 GM种子:NS_OPTIONS(选项的objc导出)不再编译

时间:2018-09-13 12:01:08

标签: objective-c swift xcode

typedef NS_OPTIONS(NSInteger, ServiceType) {
 foo = 1 << 0,
 bar = 1 << 1,
 AllServices = 0x3
};

现在在baz.swift:136:15中产生:在类型'ServiceType中找不到枚举大小写'foo'?

我最近在做什么错了? 这在xcode 9.4.1中起作用

不起作用的情况:

字典键:

[ServiceType.foo.rawValue:somevalue,....

此: [.foo.rawValue:somevalue,....

可在9.4.1中使用(但不能在10中使用)

哦,如果ServiceType强制将var解包为枚举

let s: ServiceType!
....
switch(s)
{
case ServiceType.foo: 

编译(而紧凑表示法则不) 这个:

let s: ServiceType
....
switch(s)
{
case .foo: 

编译正常,

1 个答案:

答案 0 :(得分:-3)

显然,在某些情况下,在xcode 10中,您必须执行冗长的ServiceType.foo而不是过去的紧凑型.foo表示法