Swift动态tableview在UIViewController

我一直试图添加tableview在我的ViewController,不幸的是没有数据显示在我的表格视图。 numberOfSectionsInTableViewnumberOfRowsInSectioncellForRowAtIndexPath甚至没有被调用。我尝试了ViewController里面的tableview,因为下面有另一个控件,比如标签,文本字段和TableView。因为这些标签和文本字段,我无法使用TableViewController。 我做了什么 ...

  • 创建了一个UIViewController并添加了像标签,文本字段等控件
  • 从对象库中拖出一个TableView到我的UIViewController。
  • 为了从服务器管理我的数据,我创建了一个模型

     class Model {
    
    var name : String
    var email : String
    
    init?(name : String , email : String)
    {
        self.name = name
        self.email = email
    } }
    
  • 因为我有动态数据,对于这个单元格,我在名为userinfoCell的子类UITableViewCell下创建了一个swift文件,并将这些类(userinfoCell)的标签(两个标签在TableViewCell中,一个用于用户名,另一个用于电子邮件)连接。

  • 最后在我的UIViewController中,我添加了下面的代码来填充我的表格视图。

  • 在我的类定义里面,我已经初始化了一个像这样的全局变量

    var model = [Model]()
    

    我创建了一个将数据添加到我的模型的函数

     func loadMembers()
        {
    
            let member1 = Model(name: "Caprese Salad", email: "caprreswe@gmail.com")!
    
            let member2 = Model(name: "Capresed", email: "pepperoni@gmail.com")!
    
    
    
            model += [member1, member2]
    
        }
    

    在我的ViewDidLoad上,我调用了这个函数

     override func viewDidLoad() {
        super.viewDidLoad()
    
            loadMembers()
        }
    
    
    
    override func numberOfSectionsInTableView(tableView: UITableView) -> Int 
        {
           return 1
        }
    
     override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return model.count
        }
    
        override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    
            let cell = tableView.dequeueReusableCellWithIdentifier("Members", forIndexPath: indexPath) as! userinfoCell
    
            let member = model[indexPath.row]
    
    
            cell.MemberName.text = member.name
            cell.MemberEmail.text = member.email
    
    
            return cell
        }
    

    但我得到一个空表视图。 我的方法出了什么问题

    我如何在UIViewController里实现一个动态的UITableView?


    Ctrl从表视图拖动到视图控制器并设置数据源和委托

    在这里输入图像描述

    然后在loadMember()调用self.tableView.reloadData() loadMember()


    像这样修改你的loadMembers方法,

    func loadMembers()
    {
        let member1 = Model(name: "Caprese Salad", email: "caprreswe@gmail.com")!
    
        let member2 = Model(name: "Capresed", email: "pepperoni@gmail.com")!
    
        model += [member1, member2]
    
        // reload the table view after modifying the data source.
        self.tableView.reloadData()   
    }
    

    保持控制并从tableview拖动到视图控制器并设置数据源和委托像这样...

    在这里输入图像描述

    链接地址: http://www.djcxy.com/p/87729.html

    上一篇: Swift dynamic tableview in UIViewController

    下一篇: UITableView shows nothing