Я надеюсь, что вы можете помочь мне в этом вопросе, поскольку я немного застрял...
В моем приложении у меня есть простой контроллер TableView с парой пользовательских ячеек-прототипов.
В одной из ячеек пользовательского прототипа у меня есть элемент управления сегментом с двумя значениями (в моем случае это температурные шкалы F/C).
Все отображается нормально, я могу изменить значения (используя действие изменения значения), но проблема возникает, когда я хочу «отправить» этот выбор другому ViewController (через переход) из контроллера TableView (например, вернуться к предыдущему отображаемому контроллеру и это значение будет использоваться для отображения температуры на правой шкале внутри метки).
Если у меня есть переменная в пользовательской ячейке прототипа (userSelection), она недоступна в классе tableview.
Если я перенесу действие «изменение значения» на контроллер 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
}
}