我有一個選擇狀態按鈕。當用戶點擊它時,他會看到具有狀態列表的新表格視圖。當他選擇一個時,他會回到先前的視圖(它有一個導航欄控制器),按鈕名稱更改爲選定狀態。從另一個視圖中的列表中選擇項目
我明白我創建一個segue的地方,發送selectedState
,但如何返回選定的值,我不知道。並具有另一個bug
表視圖選擇兩個細胞。這裏是我的代碼:
class StateTableViewController: UITableViewController {
let selectedState:String = "AZ"
let states = ["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DC", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD",
"MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC",
"SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"]
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.states.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
// Configure the cell...
cell.textLabel?.text = self.states[indexPath.row]
if (self.states[indexPath.row] == self.selectedState) {
cell.accessoryType = UITableViewCellAccessoryType.Checkmark
}
return cell
}
}
這個問題是類似How to create selecting option UITableView similar in iOS Settings in Swift?
,但我不明白它:(
如果不是選定狀態,則需要一個'else'子句將附件設置爲none。你如何觸發回到前一個場景?通過導航控制器上的「後退」按鈕? – Paulw11
您可以使用展開的segue將數據傳回給前一個控制器。本教程[這裏](http://www.raywenderlich.com/113394/storyboards-tutorial-in-ios-9-part-2)就是一個很好的例子。 – Caleb