我试图将 obj-c 代码引入 swift(facebook ios sdk),但自动完成(intellisense)在处理程序中不起作用,并且我收到错误(在代码中标记):Set NSObject 没有名为 ' 的成员包含对象'
@IBAction func loginWithFacebook(sender: AnyObject) {
/*
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"email"]) {
// Do work
}
}
}];
*/
let fbLoginManager = FBSDKLoginManager()
fbLoginManager.logInWithReadPermissions(["email"], handler: {
result, error in
if ((error) != nil){
}
else if (result.isCancelled){
} else {
if(result.grantedPermissions.containsObject("email")){ //<-- error here
}
}
})
}
最佳答案
因为 Swift 1.2 自动将所有 NSSet
对象(来自外部 libs/sdks/frameworks 等的对象)转换为 Set
结构,您需要调用 contains
而不是 containsObject
这样的东西 ( doc )。
关于ios - Facebook ios sdk(obj-c to swift)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31384161/