UITextView接收文本形式的听写,但textView.text属性中的文本为nil

时间:2017-11-24 20:58:15

标签: ios swift uitextview

我试图从UITextView获取文本,其入口方法是听写。在textViewDidChange委托方法中,我尝试打印以下信息:

 print(textView.text)
 print(myTextView.text)
 print(textView.hasText)
 print(textView.attributedText)
 print(textView.textStorage)

所有这些都回来了,除了hasText回来是假的。

文本在textView中可见,但它没有被注册。我应该说当我在字段中编辑另一个表单,然后尝试从该文本字段中获取值时,输入的文本在textView的textView.text属性中可见。但是,它需要花一些时间来编辑其他字段来完全“注册”textView对象。

知道这里会发生什么吗?

1 个答案:

答案 0 :(得分:2)

一段时间后试试这个

let when = DispatchTime.now() + 0.5
DispatchQueue.main.asyncAfter(deadline: when) {
   print(textView.text)
   print(textView.hasText)
   print(textView.hasText)
   print(textView.attributedText)
   print(textView.textStorage)
}

更新:这是因为您在设置之前尝试打印文本。将文本设置为textView需要一些时间。