无法访问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!")