更新XCode和Swift后,'Set <NSObject>'没有名为'containsObject'的成员

Sim*_*eer 2 xcode facebook swift

我上周一直在使用最新的Facebook iOS SDK v4.0.1编写Swift应用程序.在今天更新到最新的XCode 6.3和Swift 1.2后,我遇到了很多错误.我已经能够修复它们中的大多数,主要是新的语法错误,比如转换,但是这个错误出现了,我无法找到原因.

if result.grantedPermissions.containsObject("email") {
... 
}

'Set<NSObject>' does not have a member named 'containsObject'
Run Code Online (Sandbox Code Playgroud)

如果有人有任何建议值得赞赏,谢谢.

Mar*_*n R 6

它似乎result.grantedPermissions是一个原生的Swift Set ,它与Swift 1.2(Xcode 6.3)一起引入并与之桥接NSSet.

要检查a中的成员身份Set,可以使用其contains() 方法,例如:

if result.grantedPermissions.contains("email") {
    ... 
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅Swift文档中的集合类型中的"集合" .