无法访问Swift中的textDocumentProxy协议函数
我的类是无法访问Swift中的textDocumentProxy协议函数,swift,Swift,我的类是UIInputViewController的子类。我想访问UIInputViewController的textDocumentProxy对象,以便调用textDocumentProxy上的insertText 从文档中,textDocumentProxy符合UITextDocumentProxy,它符合UIKeyInput 基于上述逻辑,为什么我不能简单地做以下事情 self.textDocumentProxy.insertText("Hello World") 相反,我得到了以下错误
UIInputViewController
的子类。我想访问UIInputViewController
的textDocumentProxy
对象,以便调用textDocumentProxy
上的insertText
从文档中,textDocumentProxy
符合UITextDocumentProxy
,它符合UIKeyInput
基于上述逻辑,为什么我不能简单地做以下事情
self.textDocumentProxy.insertText("Hello World")
相反,我得到了以下错误
“NSObject”没有名为“insertText”的成员
我必须做一些特殊的铸造吗
下面是文档的一个片段
class UIInputViewController : UIViewController, UITextInputDelegate, NSObjectProtocol {
var textDocumentProxy: NSObject! { get }
}
protocol UITextDocumentProxy : UIKeyInput, UITextInputTraits, NSObjectProtocol {
var documentContextBeforeInput: String! { get }
var documentContextAfterInput: String! { get }
}
protocol UIKeyInput : UITextInputTraits, NSObjectProtocol {
func hasText() -> Bool
func insertText(text: String!)
func deleteBackward()
}
由于继承的协议,我不得不沮丧两次
让textDocument=self.textDocumentProxy作为UITextDocumentProxy作为uikeyinport
由于继承的协议,我不得不向下播放两次
让textDocument=self.textDocumentProxy作为UITextDocumentProxy作为uikeyinport
您可以像这样在单行上调用此方法
(self.textDocumentProxy as UITextDocumentProxy as UIKeyInput).insertText("Hello World!")
或
您可以像这样在单行上调用此方法
(self.textDocumentProxy as UITextDocumentProxy as UIKeyInput).insertText("Hello World!")
或