0
Ich habe drei globale Variablen:Wie setze ich eine Konstante, die außerhalb ihres Gültigkeitsbereichs in einer if-Anweisung verwendet werden soll?
var activeTextField = UITextField() // stores the last textFieldDidBeginEditing
var activeTextView = UITextView() // stores the last textViewDidBeginEditing
var lastTextKindIsTextView = true // indicates if the last text used is a UITextView
Ich möchte die Anzahl der ausgewählten Zeichen des ersten Responder Textfeld oder Textansicht zählen. Ich habe versucht, mit diesem Code, aber es funktioniert nicht, weil ActiveField außerhalb des Geltungsbereichs ist. Gibt es eine Möglichkeit, dies zu tun?
if lastTextKindIsTextView {
let activeField = activeTextView
} else {
let activeField = activeTextField
}
// see the length of the selected string
var strLength = 0
// don't work because activeField is out of scope:
if let textRange = activeField.selectedTextRange {
let selectedText = activeField.text(in: textRange)
strLength = (selectedText?.utf16.count)!
}
I Vadian, active und activeTextView variabel sind von zwei verschiedenen Typen. – Cue
Richtig, aber beide Typen entsprechen "UITextInput". Ich habe die Antwort aktualisiert. – vadian
Funktioniert gut, danke! – Cue