0
Я пытаюсь запустить код obj-c в swift (facebook ios sdk), но autocomplete (intellisense) не работает в обработчике, и я получаю сообщение об ошибке (помечено в коде): Set NSObject не есть член с именем «containsObject»Facebook ios sdk (obj-c to swift) issue
@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
}
}
})
}
Спасибо! Не могли бы вы также рассказать мне, что может быть причиной того, что автозаполнение (intellisense) не работает в обработчике (блок?)? – driver733
@ user2441104 В вашем случае это, вероятно, потому, что вы явно не указали типы параметров блока. Попробуйте написать: '..., handler: {(результат: FBSDKLoginManagerLoginResult !, ошибка: NSError!) -> Void in ...'. Также это может быть просто отставание :) – Nevs12
Это сработало! Очень признателен! – driver733