SWRevealViewController

SWRevealViewController

当我转到HomeViewController时,屏幕将变成全黑。我实际上想获取用户以将其放入TableViewCells。我将Firebase用作数据库,将Swift用作语言。帮我完成这个。

import UIKit
import Firebase

class HomeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    @IBOutlet weak var tableView: UITableView!

    var users = [User]()

    override func viewDidLoad() {
        super.viewDidLoad()
        fetchUser()
    }

    func fetchUser() {
        FIRDatabase.database().reference().child("users").observe(.childAdded, with: { (snapshot) in

            if let dictionary = snapshot.value as? [String: AnyObject] {
                let user = User(dictionary: dictionary)
                self.users.append(user)

                //this will crash because of background thread, so lets use dispatch_async to fix
                DispatchQueue.main.async(execute: {
                    self.tableView.reloadData()
                })
            }
        }, withCancel: nil)
    }

    func handleCancel() {
        dismiss(animated: true, completion: nil)
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return users.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "resultCell", for: indexPath)
        let user = users[indexPath.row]
        cell.textLabel?.text = user.name
        cell.detailTextLabel?.text = user.email
        return cell
    }
}

class UserCell: UITableViewCell {
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: .subtitle, reuseIdentifier: reuseIdentifier)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}


在LoginButton下通过SWRevealViewController呈现Home View Controller

let vc : SWRevealViewController = self.storyboard?.instantiateViewController(withIdentifier: "SWRevealViewController") as! SWRevealViewController
self.present(vc, animated: true, completion: nil)


建筑
ios - View Controller显示黑屏,而不是从Firebase数据库Swift iOS中获取用户-LMLPHP

最佳答案

问题

您可能未设置导航控制器的RootViewController。

ios - View Controller显示黑屏,而不是从Firebase数据库Swift iOS中获取用户-LMLPHP



SWRevealViewControllerNavigationController之间选择设置。在属性检查器中,将segue标识符设置为“ sw_front”。这是指示前视图控制器转换的默认标识符。

对于SWRevealViewController和侧边栏视图控制器之间的segue,将segue标识符设置为“ sw_rear”。该标识符告诉SWRevealViewController控制器代表后视图

关于ios - View Controller显示黑屏,而不是从Firebase数据库Swift iOS中获取用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44366472/

10-11 20:51