In meinem UITableViewController ich eine benutzerdefinierte Zelle haben, die einen Umschalter whoce enthält, ist die folgende:Swift/UISwitch: wie ein Delegierter/Zuhörer zu implementieren
import Foundation
import UIKit
class SwitchCell: UITableViewCell {
@IBOutlet weak var label : UILabel!
@IBOutlet weak var switchEmail : UISwitch!
func setEditable(canEdit:Bool) {
if (canEdit) {
self.switchEmail.enabled = true
self.label.highlighted = false
}
else {
self.switchEmail.enabled = false
self.label.highlighted = true
}
}
func configureCellWithSwitch(labelText:String, switchValue:Bool, enabled:Bool) {
var labelFrame:CGRect = self.label.frame
labelFrame.size.height = Settings.labelHeight
self.label.frame = labelFrame
self.label.text = labelText
if (switchValue) {
self.switchEmail.setOn(true, animated: true)
}
else {
self.switchEmail.setOn(false, animated: true)
}
self.setEditable(enabled)
}
}
Ich möchte wissen, wie ein Zuhörer zu implementieren/Delegierte an den Switcher, um seinen Wert vom UITableViewController zu erhalten. Ich war in der Lage Delegierten/Hörer für die Zelle zu schreiben, mit UITextField und UITextView die Methoden der Umsetzung
func controller(controller: UITableViewCell, textViewDidEndEditing: String, atIndex: Int)
und
func controller(controller: UITableViewCell, textFieldDidEndEditingWithText: String, atIndex: Int)
aber ich weiß nicht, was ich für den Schalter implementieren soll.
Ok, das ist, was ich in der Klasse Zelle in der init gerade geschrieben habe(). Ich würde gerne wissen, wie kann ich den Switch-Wert von meinem Tabellenansicht-Controller abrufen ... Welche Methode sollte ich dort implementieren? –
@LoryLory sehe mein Update: der Wert von 'UISwitch' ist über' .on' verfügbar – Daniel
Ah ok, sollte diese Methode innerhalb der TableView rechts sein? Ich dachte, es wäre in der benutzerdefinierten Klassenzelle ... deshalb wusste ich nicht, wie man den Wert aus dem Tabellenansicht-Controller –