Firebase und XCode

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Firebase und XCode

    Hallo zusammen

    Ich habe Probleme mit einem Code, welchen ich aus einem YouTube Video habe. Dort wird erklärt, wie man ein Loginsystem mit Firebase für seine iOS App einrichtet. Klappt soweit auch alles nur beim Auslesen der Email mit user!.email meldet XCode, user have no member with the name email. Wisst ihr wie ich diesen Fehler umgehen kann?

    Video Link: youtu.be/OaiLpVG6Tlc

    Etwa bei 15:40 sieht man den Code.
  • brad90 schrieb:

    Ich lerne die Sprache gerade erst. Ob ich das jetzt mit YT oder mit einem Buch mache ist mir überlassen oder nicht?!
    Klar, du kannst dir es auch von einem 3-jährigen beigringen lassen. Von dem lernst du zumindest keinen Mist wie von vielen "Tutorials" im Netz.
    Also bitte auf Qualität achten und am Anfang starten - nicht mit irgendeinem Tutorial seine Wunschapplikation zusammenklicken versuchen.
  • gritsch schrieb:

    Klar, du kannst dir es auch von einem 3-jährigen beigringen lassen. Von dem lernst du zumindest keinen Mist wie von vielen "Tutorials" im Netz.Also bitte auf Qualität achten und am Anfang starten - nicht mit irgendeinem Tutorial seine Wunschapplikation zusammenklicken versuchen.
    Da bin ich mir jetzt nicht so sicher ;)

    Woran könnte denn dieser Fehler Deiner Meinung nach liegen? Weil ich bin mir sicher, dass Du mehr drauf hast als nur eine Moralpredig.
  • brad90 schrieb:

    Woran könnte denn dieser Fehler Deiner Meinung nach liegen? Weil ich bin mir sicher, dass Du mehr drauf hast als nur eine Moralpredig.
    Das sagt dir ja im prinzip der compiler ganz genau (obwohl ich nicht glaube dass das die EXAKTE meldung des compilers ist)

    Ist "user" deine klasse oder doch eine instanz einer user-klasse?
    Ich befürchte ersteres...
  • Quellcode

    1. import UIKit
    2. import Firebase
    3. class ViewController: UIViewController {
    4. @IBOutlet weak var usernameLabel: UILabel!
    5. @IBOutlet weak var emailField: UITextField!
    6. @IBOutlet weak var passwordField: UITextField!
    7. @IBOutlet weak var logoutButton: UIButton!
    8. override func viewDidLoad() {
    9. super.viewDidLoad()
    10. if let user = FIRAuth.auth()?.currentUser
    11. {
    12. self.logoutButton.alpha = 1.0
    13. self.usernameLabel.text = user.email
    14. }
    15. else
    16. {
    17. self.logoutButton.alpha = 0.0
    18. self.usernameLabel.text = ""
    19. }
    20. }
    21. override func didReceiveMemoryWarning() {
    22. super.didReceiveMemoryWarning()
    23. // Dispose of any resources that can be recreated.
    24. }
    25. @IBAction func createAccountAction(_ sender: Any) {
    26. if self.emailField.text == "" || self.passwordField.text == ""
    27. {
    28. let alertController = UIAlertController(title: "Uups!", message: "Bitte gebe eine E-Mail Adresse und ein Passwort ein.", preferredStyle: .alert)
    29. let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
    30. alertController.addAction(defaultAction)
    31. self.present(alertController, animated: true, completion: nil)
    32. }
    33. else
    34. {
    35. FIRAuth.auth()?.signIn(withEmail: self.emailField.text!, password: self.passwordField.text!, completion: { (urser, error) in
    36. if error == nil
    37. {
    38. self.logoutButton.alpha = 1.0
    39. self.usernameLabel.text = user!.email
    40. self.emailField.text = ""
    41. self.passwordField.text = ""
    42. }
    43. else
    44. {
    45. let alertController = UIAlertController(title: "Uups!", message: error?.localizedDescription, preferredStyle: .alert)
    46. let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
    47. alertController.addAction(defaultAction)
    48. self.present(alertController, animated: true, completion: nil)
    49. }
    50. })
    51. }
    52. }
    53. @IBAction func loginAction(_ sender: Any) {
    54. if self.emailField.text == "" || self.passwordField.text == ""
    55. {
    56. let alertController = UIAlertController(title: "Uups!", message: "Bitte gebe eine E-Mail Adresse und ein Passwort ein.", preferredStyle: .alert)
    57. let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
    58. alertController.addAction(defaultAction)
    59. self.present(alertController, animated: true, completion: nil)
    60. }
    61. else
    62. {
    63. FIRAuth.auth()?.signIn(withEmail: self.emailField.text!, password: self.passwordField.text!, completion: { (urser, error) in
    64. if error == nil
    65. {
    66. self.logoutButton.alpha = 1.0
    67. self.usernameLabel.text = user!.email
    68. self.emailField.text = ""
    69. self.passwordField.text = ""
    70. }
    71. else
    72. {
    73. let alertController = UIAlertController(title: "Uups!", message: error?.localizedDescription, preferredStyle: .alert)
    74. let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
    75. alertController.addAction(defaultAction)
    76. self.present(alertController, animated: true, completion: nil)
    77. }
    78. })
    79. }
    80. }
    81. @IBAction func logoutAction(_ sender: Any) {
    82. try! FIRAuth.auth()?.signOut()
    83. self.usernameLabel.text = ""
    84. self.logoutButton.alpha = 0.0
    85. self.emailField.text = ""
    86. self.passwordField.text = ""
    87. }
    88. }
    Alles anzeigen
    Das ist der Quellcode. Der Compiler bei 43. und 71. heisst wie folgt: Type 'user!' has no member 'email'