Я надеюсь, что вы можете мне помочь в этом вопросе, как я немного застрял ...Swift: TableView контроллер и значение сегмента изменение
В моем приложении у меня есть простой контроллер Tableview с парой пользовательских ячеек прототипа ,
В одной из пользовательских ячеек прототипа у меня есть элемент управления сегментами с двумя значениями (в моем случае это температурные шкалы F/C).
Все отображается в порядке, я могу изменить значения (используя действие с измененным значением), но проблема возникает, когда я хочу «отправить» этот выбор на другой ViewController (через segue) из контроллера TableView (например, вернуться к предыдущий отображаемый контроллер, и это значение будет использоваться для отображения температуры в правой шкале в метке).
Если у меня есть переменная внутри пользовательской ячейки прототипа (userSelection), это не доступно в классе tableview.
Если я переведу действие «изменение значения» на контроллер таблицы, я, похоже, «потеряю» способность отслеживать, что изменилось.
я что-то упускаю, что «клеит» их вместе ...
Большое спасибо!
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var button1: UIButton!
@IBAction func pressButton1(sender: AnyObject) {
}
}
class TableViewController: UITableViewController {
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Potentially incomplete method implementation.
// Return the number of sections.
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
return 1
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) as! UITableViewCell
var cell = tableView.dequeueReusableCellWithIdentifier("customcell") as! TableViewCell
return cell
}
class TableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBOutlet weak var segment1: UISegmentedControl!
@IBAction func segmentValueChanged(sender: AnyObject) {
var userSelection = segment1.selectedSegmentIndex
}
}
Вам нужно отслеживать состояния нескольких сегментов или только один? –