Advertisement
Guest User

ChatViewController.swift

a guest
Mar 19th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.28 KB | None | 0 0
  1. //
  2. // ViewController.swift
  3. //
  4. //
  5. // Created by Maya Sheree on 3/18/16.
  6. //
  7. //
  8.  
  9. import UIKit
  10. import Firebase
  11.  
  12. class ViewController: UIViewController {
  13.  
  14. let firebase = Firebase(url: "https://realtimeappone.firebaseio.com")
  15. @IBOutlet weak var username: UITextField!
  16. @IBOutlet weak var password: UITextField!
  17. var newUSer = false
  18. var usrnme = String()
  19. override func viewDidLoad() {
  20. super.viewDidLoad()
  21.  
  22. // Do any additional setup after loading the view.
  23. }
  24. override func viewDidAppear(animated: Bool) {
  25. super.viewDidAppear(animated)
  26. if firebase.authData != nil
  27. {
  28. self.getUsername()
  29. }
  30. }
  31. @IBAction func signin(sender: AnyObject) {
  32. logUser()
  33. }
  34. @IBAction func signup(sender: AnyObject) {
  35. if let em = username.text where em != "" , let pwd = password.text where pwd != " "
  36.  
  37. {
  38. firebase.createUser(em, password: pwd, withCompletionBlock: { error in
  39. if error != nil
  40.  
  41. {
  42. print(error.localizedDescription)
  43. }
  44. else {
  45. self.requestUserName()
  46.  
  47. }
  48. })
  49. }
  50. else {
  51. print("Fill in fields")
  52. }
  53.  
  54. }
  55. func logUser() {
  56. if let em = username.text where em != "" , let pwd = password.text where pwd != "" {
  57. firebase.authUser(em, password: pwd, withCompletionBlock: { error, authData in
  58. if error != nil
  59. {
  60. print(error.localizedDescription)
  61.  
  62.  
  63. }
  64. else {
  65. print("logged in \(authData.uid)")
  66. let uid = authData.uid
  67. if self.newUSer {
  68.  
  69. self.firebase.childByAppendingPath("users").childByAppendingPath(uid).updateChildValues(["name":self.usrnme, "isOnline":true])
  70. self.performSegueWithIdentifier("newVC", sender: self)
  71. }
  72. else {
  73. self.firebase.childByAppendingPath("users").childByAppendingPath(uid).updateChildValues(["isOnline":true])
  74. self.getUsername()
  75.  
  76. }
  77.  
  78. }
  79. })
  80.  
  81. }
  82. else {
  83. print("Fill in fields")
  84. }
  85.  
  86. }
  87. override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  88. if segue.identifier == "newVC"
  89. {
  90. let navController = segue.destinationViewController as! UINavigationController
  91.  
  92. if let postTBV = navController.viewControllers.first as? PostTBV
  93. {
  94. postTBV.currentUser = self.usrnme
  95.  
  96. }
  97.  
  98. }
  99. }
  100. func requestUserName() {
  101. var usernametextField: UITextField?
  102. let alert = UIAlertController(title: "Welcome", message: "Please Enter a Username", preferredStyle: .Alert)
  103. let action = UIAlertAction(title: "OK", style: .Default) { (UIAlertAction) -> Void in
  104. if let usernmae = usernametextField?.text where usernmae != ""
  105. {
  106. print(usernmae)
  107. self.usrnme = usernmae
  108. self.newUSer = true
  109. self.logUser()
  110. }
  111. }
  112. alert.addAction(action)
  113. alert.addTextFieldWithConfigurationHandler { (username:UITextField) -> Void in
  114. usernametextField = username
  115. }
  116. self.presentViewController(alert, animated: true, completion: nil)
  117. }
  118. func getUsername()
  119. {
  120. self.firebase.childByAppendingPath("users").childByAppendingPath(firebase.authData.uid).observeSingleEventOfType(.Value) { (snapshot:FDataSnapshot!) -> Void in
  121. self.usrnme = (snapshot.value as! NSDictionary)["name"] as! String
  122.  
  123. print(snapshot)
  124.  
  125.  
  126.  
  127. self.performSegueWithIdentifier("newVC", sender: nil)
  128.  
  129.  
  130. }
  131.  
  132. }
  133.  
  134.  
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement