Facebook FBSDKLoginButtonDelegate loginButton ошибка синтаксиса
Я использую Xcode8 и Swift 3. Итак, я полностью преобразовал свой проект в последний синтаксис, и теперь я получаю ошибку:
"Ошибка" неоднозначна для поиска типов в этом контексте
в функции:
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
//do stuff
}
Функция в FBSDK объявлена следующим образом:
- (void) loginButton:(FBSDKLoginButton *)loginButton
didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result
error:(NSError *)error;
поэтому я попытался изменить тип ошибки на NSError, но я получаю другую ошибку:
SignInViewController не соответствует протоколу FBSDKLoginButtonDelegate
Я не знаю что делать. Любая помощь приветствуется!
2 ответа
Я обнаружил, что я импортировал RealmSwift
которые имеют свои Error
структура. Таким образом, решение заключается в использовании Swift.Error
вместо просто Error
, Надеюсь, это кому-нибудь поможет.
Синтаксис в методе FBSDKLoginButtonDelegate изменяется, как показано ниже в Swift 3.
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
}
"результат didCompleteWithResult" изменен на "результат didCompleteWith".