首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Swift中访问textDocumentProxy协议函数

无法在Swift中访问textDocumentProxy协议函数
EN

Stack Overflow用户
提问于 2014-06-08 07:15:10
回答 2查看 1.1K关注 0票数 0

我的类是UIInputViewController的一个子类。我想访问UIInputViewControllerUIInputViewController对象,这样就可以在textDocumentProxy上调用insertText

从文档来看,textDocumentProxy符合符合UIKeyInputUITextDocumentProxy

基于上述逻辑,我为什么不能简单地做以下工作。

代码语言:javascript
复制
self.textDocumentProxy.insertText("Hello World")

相反,我得到以下错误

'NSObject‘没有一个名为'insertText’的成员

我要做什么特别的演员吗?

这里是文档的一个片段。

代码语言:javascript
复制
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()
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-08 13:07:08

您可以像这样在单行上调用此方法

代码语言:javascript
复制
(self.textDocumentProxy as UITextDocumentProxy as UIKeyInput).insertText("Hello World!")

代码语言:javascript
复制
(self.textDocumentProxy as UIKeyInput).insertText("Hello World!")
票数 4
EN

Stack Overflow用户

发布于 2014-06-08 08:00:10

因为继承的协议,我不得不两次失望。

let textDocument = self.textDocumentProxy as UITextDocumentProxy as UIKeyInput

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24103875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档