Size: a a a

2019 October 30

IG

Ivan Gaydamakin in SwiftBook
и переехал в файрбейс
источник

C

CLv in SwiftBook
Кто какой бэкенд использует ?
источник

ДБ

Денис Бирюков... in SwiftBook
Aleksei Sherbakov
ну да ты вызываешь taskSegue, а сег у тебя называется tasksSegue
спасибо (всем кто принял участие в решении проблемы. Действительно переименование сегвея позволило мне зайти в аккаунт по кнопке. ЛОгин. Осталась проблема с тем что при нажатии кнопки логин, не появляется запись в  database
источник

ДБ

Денис Бирюков... in SwiftBook
Aleksei Sherbakov
ну да ты вызываешь taskSegue, а сег у тебя называется tasksSegue
источник

ДБ

Денис Бирюков... in SwiftBook
Aleksei Sherbakov
ну да ты вызываешь taskSegue, а сег у тебя называется tasksSegue
источник

ДБ

Денис Бирюков... in SwiftBook
Помогите разобраться в этом вопросе.
источник

ДБ

Денис Бирюков... in SwiftBook
источник

ДБ

Денис Бирюков... in SwiftBook
источник

ДБ

Денис Бирюков... in SwiftBook
(описан выше)
источник

GZ

Gleb Zheglov Ⓜ️ in SwiftBook
Ivan Gaydamakin
и переехал в файрбейс
Понял, спасибо еще раз
источник

ДБ

Денис Бирюков... in SwiftBook
и мне)
источник

KK

Kirill Kharkovsky in SwiftBook
ребят вопрос на счет Notification
есть контроллеры один отдает структуру  другой принимает ее
вроде все по правилам сделано но почему нифага не работает может кто глянуть
1)VC
import UIKit
import Firebase
class RoomsAdminTableViewController: UITableViewController {
   var reff : DatabaseReference?
   var user: Users!
   var rooms = Array<Rooms>()
 
   @IBAction func addNewRooms(_ sender: UIBarButtonItem) {
       var alertName : UITextField!
       var alertPrice : UITextField!
       let allertController = UIAlertController(title: "Введите название комнаты", message: nil, preferredStyle: .alert)

       allertController.addTextField(configurationHandler: {
           alertNameText in alertName = alertNameText
           alertNameText.placeholder = "Название номера"
       })
       allertController.addTextField(configurationHandler: {
           alertPriceText in alertPrice = alertPriceText
           alertPriceText.placeholder = "Цена номера "
       })

       let alertAction = UIAlertAction(title: "Save", style: .default){[weak self] _ in
           let roms = Rooms(title: alertName.text!, userId: (self?.user.email)!, price: alertPrice.text!)
           if let title = roms.title {
               let romsRef = self?.reff?.child(title.lowercased())
               romsRef?.setValue(roms.convertToDictionary())
               NotificationCenter.default.post(name: Notification.Name("Rooms"), object: roms)
           }
       }
       allertController.addAction(alertAction)
       present(allertController,animated: true,completion: nil)
   }
   
   override func viewDidLoad() {
       super.viewDidLoad()
       guard let currentUser = Auth.auth().currentUser else {return}
       user = Users(user: currentUser )
       reff = Database.database().reference(withPath: "Admin").child(String(user.uid)).child("Rooms")
       
       
   }
   
   override func viewWillAppear(_ animated: Bool) {
       super.viewWillAppear(animated)
       
       reff?.observe(.value, with: {[weak self] (snapshot) in
     
           var _rooms = Array<Rooms>()
           for item in snapshot.children {
               let rooms = Rooms(snapshot: item as! DataSnapshot)
               _rooms.append(rooms)
           }
           self?.rooms = _rooms
           self?.tableView.reloadData()
       })
       
   }
   override func viewWillDisappear(_ animated: Bool) {
       super.viewWillDisappear(animated)
       reff?.removeAllObservers()
   }
   
   override func numberOfSections(in tableView: UITableView) -> Int {
       return 1
   }
   
   override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
       return rooms.count
   }
   
   
   override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! RoomsAdminTableViewCell
       
       let roomsTitle = rooms[indexPath.row].title
       let roomsPrice = rooms[indexPath.row].price
       
       cell.titleLabel.text = roomsTitle
       cell.priceLabel.text = roomsPrice
       
       return cell
   }
}


_______________________
2)TV
import UIKit
import Firebase
class RoomsUserTableViewController: UITableViewController {
   var ref : DatabaseReference?
   var user: Users!
   var rooms = Array<Rooms>()
   
   override func viewDidLoad() {
       super.viewDidLoad()
       guard let currentUser = Auth.auth().currentUser else {return}
       user = Users(user: currentUser )
       ref = Database.database().reference(withPath: "users").child(String(user.uid)).child("rooms")
       NotificationCenter.default.addObserver(self, selector: #selector(notificationFired(_:)), name: Notification.Name("Rooms"), object: nil)
       //создали уведомление
   }
   
   @objc func notificationFired(_ notification:Notification){
       if let rooms = notification.object as? Rooms {
           self.rooms = [rooms]
источник

KK

Kirill Kharkovsky in SwiftBook
self.tableView.reloadData()
       }
   }
   
   override func viewWillAppear(_ animated: Bool) {
       super.viewWillAppear(animated)
       ref!.observe(.value, with: { [weak self](snapshot) in
           var _rooms = Array<Rooms>()
           for item in snapshot.children {
               let rooms = Rooms(snapshot: item as! DataSnapshot)
               _rooms.append(rooms)
           }
           self?.rooms = _rooms
           self?.tableView.reloadData()
       })
   }
   override func viewWillDisappear(_ animated: Bool) {
       super.viewWillDisappear(animated)
       ref?.removeAllObservers()
   }
   // MARK: - Table view data source
   
   override func numberOfSections(in tableView: UITableView) -> Int {
       // #warning Incomplete implementation, return the number of sections
       return 1
   }
   
   override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
       // #warning Incomplete implementation, return the number of rows
       return rooms.count
   }
   
   override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! RoomsUserTableViewCell
       
       let roomsTitle = rooms[indexPath.row].title
       let roomsPrice = rooms[indexPath.row].price
       
       cell.titleLabel.text = roomsTitle
       cell.priceLabel.text = roomsPrice
       return cell
   }
}
источник

ТШ

Тимур Шаов in SwiftBook
Тимур Шаов
Всем привет! Наверное странный вопрос: как грамотно записать условие обратное
if #available(iOS 13.0, *)
Нет мыслей на этот счет ни у кого?
источник

AY

Andrey Yastrebov in SwiftBook
Тимур Шаов
Всем привет! Наверное странный вопрос: как грамотно записать условие обратное
if #available(iOS 13.0, *)
if #available(iOS 13.0, *) {} else {

}
источник

ND

No De in SwiftBook
источник

ND

No De in SwiftBook
Есть в кого реализация таких ячеек?
источник

ТШ

Тимур Шаов in SwiftBook
Andrey Yastrebov
if #available(iOS 13.0, *) {} else {

}
Это понятно, а если без else?
источник

AY

Andrey Yastrebov in SwiftBook
Тимур Шаов
Это понятно, а если без else?
других вариантов не находил
источник

ДБ

Денис Бирюков... in SwiftBook
у команды разработки приложения Тинькоф банк
источник