如何根据按钮按下填充表格视图- swift
how to populate tableview based on button press- swift
我有两个按钮计划拍摄和完成拍摄,table 视图在 it.I 下无法使用分段控制 here.when 我按下第一个按钮 a table 视图应该填充 data.when 我按下第二个按钮 table 视图应该填充不同的数据。我怎样才能做到这一点。
我是新手 iOS 如何解决这个问题?
为您的数据创建两个单独的数组,一个用于预定的拍摄,另一个用于完成的拍摄
维护一个布尔变量来在它们之间切换
var scheduledShoots: [YourModel] = [...]
var completedShoots: [YourModel] = [...]
var isScheduledShootSelected = true
然后在您的 table 视图方法中执行此操作
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return isScheduledShootSelected ? scheduledShoots.count : completedShoots.count
}
还在您的 cellForRowAt 中检查 isScheduledShootSelected 并填充相应的数据
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if isScheduledShootSelected {
//Populate scheduledShoots array data
} else {
//Populate completedShoots array data
}
return yourCell
}
现在在您的操作方法中
@IBAction func scheduledShootPressed() {
isScheduledShootSelected = true
tableView.reloadData()
}
@IBAction func completedShootPressed() {
isScheduledShootSelected = false
tableView.reloadData()
}
我有两个按钮计划拍摄和完成拍摄,table 视图在 it.I 下无法使用分段控制 here.when 我按下第一个按钮 a table 视图应该填充 data.when 我按下第二个按钮 table 视图应该填充不同的数据。我怎样才能做到这一点。 我是新手 iOS 如何解决这个问题?
为您的数据创建两个单独的数组,一个用于预定的拍摄,另一个用于完成的拍摄 维护一个布尔变量来在它们之间切换
var scheduledShoots: [YourModel] = [...]
var completedShoots: [YourModel] = [...]
var isScheduledShootSelected = true
然后在您的 table 视图方法中执行此操作
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return isScheduledShootSelected ? scheduledShoots.count : completedShoots.count
}
还在您的 cellForRowAt 中检查 isScheduledShootSelected 并填充相应的数据
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if isScheduledShootSelected {
//Populate scheduledShoots array data
} else {
//Populate completedShoots array data
}
return yourCell
}
现在在您的操作方法中
@IBAction func scheduledShootPressed() {
isScheduledShootSelected = true
tableView.reloadData()
}
@IBAction func completedShootPressed() {
isScheduledShootSelected = false
tableView.reloadData()
}