カスタムUITableViewCellからUITableVIewControllerの変数を取得したい。
やりたいこと。
UITableViewCellにあるAdd(UIButton)からAddedされたセルを
doneを押した時にRealmに保存するという処理を作っています。
問題点
カスタマイズされたUITableViewCell(Xib付き)から、TableViewControllerのparDoneIndexPathにアクセスし、
辞書を追加したりしたいのですが、UITableViewCellからsuperviewしてもUITableViewControllerにはアクセスできません。
CellのActionにRealmに保存するよう実装するのも手なのですが、
doneボタンが押された時に保存するようにしたいのです。
そのAddされたものをUITableViewControllerに定義した parDoneIndexPath(辞書)に入れ、
doneが押されたときにRealmに保存処理を行いたいのですが、
どうすればcellからparDoneIndexPathを取得できるのでしょうか?
class TableViewController: UITableViewController {
var parDoneIndexPath :Dictionary
省略
}
class CustomizedTableViewCell: UITableViewCell {
@IBOutlet weak var button: UIButton!
@IBOutlet weak var labelText: UILabel!
@IBAction func buttonAction(sender: UIButton) {
//indexPathを取得する。
let cell = sender.superview?.superview as! ChooseTrainingFromMenuTableViewCell
let tableView = sender.superview?.superview?.superview?.superview as! UITableView
let indexPath :NSIndexPath = tableView.indexPathForCell(cell)!
print(cell.selected)
//ボタンを押したときのSelected:Bool
if cell.selected == false {
cell.selected = true
button.setTitle("Added", forState: .Normal)
print(button.titleLabel!.text)
print(indexPath.row)
print(indexPath.section)
}else {
cell.selected = false
button.setTitle("Add", forState: .Normal)
print(button.titleLabel!.text)
print(indexPath.row)
print(indexPath.section)
}
}