我有一个主视图控制器,它是表视图控制器。我有两个nib文件。其中一个nib包含一个表视图。我想将数据保存在该表视图中。我很困惑如何将UItable视图委托和数据源从nib文件返回到mainView。
这是我的代码:
var participationList : ["Apple","Dog","cat","Mat"]
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if indexPath.row == 0
{
//first cell
}
if indexPath.row == 1
{
let cell : ActivitySecondTableViewCell = (NSBundle.mainBundle().loadNibNamed("ActivitySecondTableViewCell", owner: self, options: nil).first as? ActivitySecondTableViewCell)!
cell.textLabel?.text = self.participationList[indexPath.row]
return cell
}
let cell : ActivitySecondTableViewCell = (NSBundle.mainBundle().loadNibNamed("IncentiveActivitySecondTableViewCell", owner: self, options: nil).first as? IncentiveActivitySecondTableViewCell)!
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 2
}
这是我的主表View控制器,我从这里返回单元格。细胞清晰地显示在这里。 ActivitySecondTableViewCell里面包含Table视图。
这是我的笔尖:
class ActivitySecondTableViewCell: UITableViewCell,UITableViewDelegate {
@IBOutlet weak var CellTableView: UITableView!
override func awakeFromNib() {
super.awakeFromNib()
self.CellTableView.delegate = self
// Initialization code
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "Required Health Activities for 2017"
}
func tableView(tableView: UITableView, willDisplayHeaderView view:UIView, forSection: Int) {
if let headerTitle = view as? UITableViewHeaderFooterView {
headerTitle.textLabel?.textColor = UIColor.redColor()
}
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
我既看不到Activitysecond单元格中的标题也看不到数据。我怎么能实现它们?
答案 0 :(得分:0)
确保你的第一个tableview中有超过2行,然后使用UITableViewDataSource继承secondTableView单元格并给出一些numberOfRows只是为了检查并返回cellForRowAt中的UITableViewCell并检查是否可以看到发生的事情。
答案 1 :(得分:0)
对于不同的笔尖,您可以使用
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if indexPath.row == 1
{
let cell : ActivitySecondTableViewCell = (NSBundle.mainBundle().loadNibNamed("ActivitySecondTableViewCell", owner: self, options: nil).first as? ActivitySecondTableViewCell)!
cell.textLabel?.text = self.participationList[indexPath.row]
return cell
}
else
{
let cell : ActivitySecondTableViewCell = (NSBundle.mainBundle().loadNibNamed("IncentiveActivitySecondTableViewCell", owner: self, options: nil).first as? IncentiveActivitySecondTableViewCell)!
return cell
}
}