您好,我有两个不同的数组数据需要传递给视图控制器,我的 ViewControllers 设计是相同的,但唯一的区别是数据。 我怎样才能做到这一点? 这是我的代码

var attendance: [GAttendance]!
var subjectAttendances: [GAttendances]!

// In my A controller
let detailAbsenceVC                 = DetailAbsenceVC()
detailAbsenceVC.attendance      = attendances
self.present(detailAbsenceVC, animated: true)

// In my B controller
let detailVC                    = DetailAbsenceVC()
detailVC.subjectAttendances = subjectAttendances
self.present(detailVC, animated: true, completion: nil)

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: GStudentAbsenceCell.cellID, for: indexPath) as! GStudentAbsenceCell
    let attendanceItem = attendance[indexPath.row]
    cell.configureCell(attendance: attendanceItem)
    return cell
}

#1楼 票数:1 已采纳

如果不区分是否从A或B来了,你只需要一个arrayto的数据存储在DetailAbsenceVC ,让我们把它叫做detailData

class DetailAbsenceVC : UIViewController {
    var detailData = [GAttendance]()

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: GStudentAbsenceCell.cellID, for: indexPath) as! GStudentAbsenceCell
        let attendanceItem = detailData[indexPath.row]
        cell.configureCell(attendance: attendanceItem)
        return cell
    }
}

然后,在 A/B 控制器中,只需设置detailData

// In my A controller
let detailAbsenceVC         = DetailAbsenceVC()
detailAbsenceVC.detailData  = attendances
self.present(detailAbsenceVC, animated: true)

// In my B controller
let detailVC        = DetailAbsenceVC()
detailVC.detailData = subjectAttendances
self.present(detailVC, animated: true, completion: nil)

  ask by Ferry Adi Wijayanto translate from so

未解决问题?本站智能推荐:

1回复

将数组数据从ViewController传递到TableView

我找不到这种特殊的情况,我必须将两个或多个字符串数组传递并附加到位于第二个ViewController的TableView中。 我想在两个不同的UILabel中推送两个不同的字符串 我有一些数据通过mainViewController中的UIAlertViewController进入
1回复

如何更新表视图中集合视图中的数据?

嗨,现在我在UITableViewCell有一个UICollectionView 。 UICollectionView充当为每个单独的单元格放置标签的地方。 当我不搜索/过滤UITableViewCell s 时,它当前显示正常,但是当我搜索时,代码正在过滤UITableViewCell s, U
1回复

如何过滤获取的数据并加载到tableview中?

我正在使用Firebase数据库。 我获取了数据并希望过滤并仅显示与用户选择匹配的信息。 我已经使用条件语句来查找匹配的值并附加列表,但是,我无法加载表。 当我打印变量时,它打印0.需要帮助谢谢。
1回复

如何在按下按钮时从数组数据显示 iOS 表格视图 - Swift

我有一个数组,我试图用它来在按下按钮(导航栏按钮)时填充表格视图。 我已经使用打印语句来验证是否存在正确的数据,但我无法在按钮按下时显示表格行。 我认为问题在于我的@IBAction func favoritesButton(_ sender: UIBarButtonItem)语法,但现在确定如何
1回复

在带有Firebase的表视图中显示数据

我的一个ViewController中有以下代码。 我正在尝试在表视图中显示评论。 书写和阅读有效,但它们根本不会出现在我的桌面视图中。 问题在于它先显示视图,然后再加载数据。 我也不能调用tableview函数。 任何帮助将是巨大的! 以及CommentData的代码:
1回复

将数据从数组添加到表视图

我有一个带有三个选项卡的iOS选项卡式应用程序。 第一个视图控制器将计算您的一个rep max卧推。 当您按下计算按钮以计算结果时,它还会在第二个视图控制器上填充一个表。 在表格中,它显示一个代表总数的60%,65%,70%,75%,80%,85%,90%和95%。 我无法弄清楚的是
1回复

以Xcode / Swift导出TableView数据

我让用户在名为“设备”的TableView中输入“序列”列表。 这是任务数组的代码。 我想获取表数据并将其导出到.txt文件或.csv,每个任务都放在单独的行上。 做这个的最好方式是什么? 请帮助我被困了几天。 我不确定应该采用哪种方法。 谢谢!
1回复

tableView重新加载数据的奇怪错误

我有一个带有消息的tableView。 消息存储在parse.com中。 我异步下载,将消息放入结构消息数组中 并填充我的tableView 我有模态viewController添加新消息。 为了在关闭模态VC之后立即显示消息,我这样做了 问题是当我回到ta