二元运算符'|'不能应用于两个'NSPointerFunctionsOptions'操作数

二元运算符'|'不能应用于两个'NSPointerFunctionsOptions'操作数

问题描述:

在XCode 7上升级到Swift 2时出现此错误二元运算符'|'不能应用于两个'NSPointerFunctionsOptions'操作数

错误位于此方法的最后一行。

required override init() { 
    self.syncStarted=false 
    self.syncFrimwareUpdateReboot=false 
    self.syncSucceeded=false 
    self.syncObservers = NSHashTable(options: NSPointerFunctionsOptions.ObjectPersonality | NSPointerFunctionsOptions.WeakMemory, capacity: 8) 
} 
+0

你尝试用'NSPointerFunctionsOptions.ObjectPersonality.rawValue'? – rkyr

用于选择新雨燕2.0的语法:

self.syncObservers = NSHashTable(options: [NSPointerFunctionsOptions.ObjectPersonality, NSPointerFunctionsOptions.WeakMemory], capacity: 8) 
+0

很酷,你能给我链接到新的语法吗?或书籍中的页面? – Beraliv

+0

@Beraliv \t试图在文档中找到,但失败。我从Xcode Swift语法转换器从1.2到2.0的更正中得到了更正。顺便说一句,如果我帮了我的意见,我会接受。 – rshev

+0

这还没有在文档中,最好的一点是,一般来说,这是Swift 2如何处理选项,它是一个很好的方案。 – zaph