Ras*_*sto 6 uitextfield ios uitextinput swift
这似乎与iOS的8,9,7 Xcode的特性beginningOfDocument和endOfDocument的UItextField总是nil你做whathever.更糟糕的是,它们不是UITextPosition?Swift 2 中的可选类型(),而是它们的类型UITextPosition- 并且仍然具有nil价值.Debuger称之为<uninitialized>代替,nil但它的行为与它相同.要重现,请将以下代码添加到任何UIViewController:
override func viewDidAppear(animated: Bool) {
let textField = UITextField()
textField.text = "Hello"
view.addSubview(textField)
let position: UITextPosition? = textField.beginningOfDocument //beginningOfDocument is of type UITextPosition, not optional
//following line should always succeed
let positionUnwrapped = position! //fatal error: unexpectedly found nil while unwrapping an Optional value
}
Run Code Online (Sandbox Code Playgroud)
这真的是一个(巨大的)错误还是我错过了什么?是否有解决方法,也许有一些步骤来解决问题?
编辑:请注意,这里没有回答这个问题.建议的修复程序不适用于我的示例代码:
selectable的UITextView,也不类本身申报财产.UITextField在beginningOfDocument访问之前添加到视图层次结构中,因此m1h4的答案也不相关.