Bonjour,
je rencontre un problème que je n’arrive pas à résoudre dans le développement de mon app …
xCode refuse de compiler et me renvoi le message “Variable used within its own initial value”. D’après mes recherches sur internet cet erreur survient souvent lorsque l’on utilise comme nom de variable le même nom que la fonction a laquelle est rattachée cette variable.
Il ne me semble pas que ce soit mon cas … J’ai d’ailleurs “commenté” (//) tout une partie de mon code mais l’erreur persiste même dans la partie commentée du code ???
Quelqu’un aurait-il une idée de la raison de cette erreur de compilation ?
L’erreur s’affiche au niveau de l’avant dernière fonction :
func presentFirstTimeAlert()
au niveau de la première ligne
let alertPopUp = UIAlertController(title: “Welcome!”, message: “Looks like you are new here. Lets get you set up”, preferredStyle: .alert)
import UIKit
import Firebase
import FBSDKLoginKit
import FirebaseFirestore
class LoginViewController: UIViewController {
// Outlets
@IBOutlet weak var ui_emailLoginTxt: UITextField!
@IBOutlet weak var ui_passwordLoginTxt: UITextField!
// Constant
let _loginManager = FBSDKLoginManager()
// Variables
// Baseline function
override func viewDidLoad() {
super.viewDidLoad()
// let attributes = [NSAttributedString.Key.font: UIFont(name: "AvenirNext-Bold", size: 32)!]
// UINavigationBar.appearance().titleTextAttributes = attributes
// if Auth.auth().currentUser == nil {
// Auth.auth().signInAnonymously { (result, error) in
// if let error = error {
// self.handleFireAuthError(error)
// }
// }
// }
}
// @IBAction
@IBAction func loginButtonTouch(_ sender: Any) {
// guard let email = ui_emailLoginTxt.text, let password = ui_passwordLoginTxt.text else {return}
// Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
// if let error = error {
// self.handleFireAuthError(error)
// debugPrint(error.localizedDescription)
// return
//
// }
// }
}
@IBAction func createUserButtonTouch(_ sender: Any) {
// guard let user = Auth.auth().currentUser else { return }
// TODO: clean up later
// if !user.isAnonymous {
// try! Auth.auth().signOut()
// }
// performSegue(withIdentifier: "sg_createNewUser", sender: self)
}
@IBAction func forgotPasswordButtonTouch(_ sender: Any) {
// let vc = ResetPasswordVC()
// vc.modalPresentationStyle = .overCurrentContext
// vc.modalTransitionStyle = .crossDissolve
// present(vc, animated: true, completion: nil)
}
@IBAction func logInWithFacebookButtonTouch(_ sender: Any) {
// _loginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) in
// if let error = error {
// debugPrint(error.localizedDescription)
// } else if result?.isCancelled ?? true {
// do something
// } else {
// self.signinFirebaseFacebook()
// }
//
// }
}
// @IBAction Segue
// @IBAction func goBackLoginVC (segue: UIStoryboardSegue){
// }
// Functions
func signinFirebaseFacebook() {
// let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
// Auth.auth().signInAndRetrieveData(with: credential) { (result, error) in
// if let isNewUser = result?.additionalUserInfo?.isNewUser{
// if isNewUser {
//
// } else {
//
// }
// }
// }
}
func handleNewUser () {
// guard let user = Auth.auth().currentUser else { return }
// var userData = [String: Any] ()
// userData = ["email": "","username": "","avatarUrl": "","hasSetupAccount": false,"isGuest": false,]
// Firestore.firestore().collection("users").document(user.uid).setData(userData) { (errorFunc) in
// if let error = errorFunc {
// debugPrint(error.localizedDescription)
// self.handleFireAuthError(error)
// return
// }
// self.presentFirstTimeAlert()
// }
}
// func presentFirstTimeAlert() {
// let alertPopUp = UIAlertController(title: "Welcome!", message: "Looks like you are new here. Lets get you set up", preferredStyle: .alert)
// let notNow = UIAlertAction(title: "Not Now", style: .cancel) { (alert) in
//
// }
// let okAction = UIAlertAction(title: "Ok", style: .default) { (alert) in
// self.performSegue(withIdentifier: "sg_createNewUser", sender: self)
// }
// alertPopUp.addAction(notNow)
// alertPopUp.addAction(okAction)
// present(alertPopUp, animated: true, completion: nil)
// }
// gestion des Segues
// override func viewWillAppear(_ animated: Bool) {
// }
Merci d’avance