Я хочу создать максимальную длину своего текстового поля с помощью IBInspectable
, я вижу ответ на этот вопрос здесь, но я m получаю сообщение об ошибке Expression type '()' is ambiguous without more context
,
Мой код был
import UIKit
private var __maxLengths = [UITextField: Int]()
extension UITextField {
@IBInspectable var maxLength: Int {
get {
guard let l = __maxLengths[self] else {
return 150 // (global default-limit. or just, Int.max)
}
return l
}
set {
__maxLengths[self] = newValue
addTarget(self, action: #selector(fix), for: .editingChanged)
}
}
@objc func fix(textField: UITextField) {
let t = textField.text
textField.text = t?.prefix(maxLength)
}
}
и я получаю сообщение об ошибке, указывающее на textField.text = t?.prefix(maxLength)
, с сообщением об ошибке Expression type '()' is ambiguous without more context
,
Как я могу решить эту проблему?
@objc
перед func fix? Я думаю, что это вызывает эту ошибку. - person Sung-Jong Will Kim   schedule 03.06.2020@objc
требуется - person Leo Dabus   schedule 03.06.2020