Swift动态tableview在UIViewController
我一直试图添加tableview在我的ViewController,不幸的是没有数据显示在我的表格视图。 numberOfSectionsInTableView , numberOfRowsInSection , cellForRowAtIndexPath甚至没有被调用。我尝试了ViewController里面的tableview,因为下面有另一个控件,比如标签,文本字段和TableView。因为这些标签和文本字段,我无法使用TableViewController。 我做了什么 ...
为了从服务器管理我的数据,我创建了一个模型
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