嘗試將TableViewController上的選定單元格上的標籤傳遞給TableViewController上的靜態單元格上的一個標籤,當我點擊後退按鈕時。我在didSelectRowAtIndexPath()
得到正確的標籤。但是當我嘗試打印它時數據不會傳回。我已經嘗試了很多場景並作爲最後的手段來到這裏。任何幫助將不勝感激,謝謝!數據將不會傳遞迴先前的tableview控制器
tableviewcontroller之一:
class SearchTableViewController: UITableViewController, SortProtocol {
var sort: String?
override func viewDidLoad() {
super.viewDidLoad(
SORTBYCELL.detailTextLabel?.text = sort
}
func passdata(sort: String?){
self.sort = (sort)
}
TableViewController二:
protocol SortProtocol {
func passdata(sort: String?)
}
class SortByTable: UITableViewController {
var delegate: SortProtocol?
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let current = tableView.cellForRowAtIndexPath(indexPath)! as UITableViewCell
let sort = current.textLabel!.text!
self.delegate?.passdata(sort)
在vc2中,需要獲取對vc1的引用並將其分配給委託。你在使用導航控制器嗎? – Shades
把這個'SORTBYCELL.detailTextLabel?.text = sort''in func passdata(sort:String?){...}。因爲viewDidLoad只在加載視圖時執行一次 – KSR