首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建自己的UILexicon条目

创建自己的UILexicon条目
EN

Stack Overflow用户
提问于 2014-09-05 13:36:12
回答 1查看 1.3K关注 0票数 2

我尝试将UILexicon子类化,这样我就可以在初始化部分创建我自己的条目。但是,条目数组是只读的。如何在键盘扩展(iOS 8)中为自定义预测栏创建自己的词源?

EN

回答 1

Stack Overflow用户

发布于 2014-11-25 11:28:57

看起来苹果并没有将UILexicon和UILexiconEntry设计成可变的或者创建可变的副本。我正在使用Swift进行开发,它的实现不允许实例化新的UILexiconEntry对象,虽然我可以实例化一个新的UILexicon对象,但我不能将其添加到它的条目列表中。

因此,Objective C接口的行为类似似乎是合理的,文档支持这一点,并声明"Apple打算让您将词典对象中的单词作为您自己设计的自动更正/建议词典的补充。“

幸运的是,为词典条目创建自己的存储非常简单,NSDictionary可以直接存储它们。首先,使用existing UILexicon列表中的条目加载它,使用userInput字符串作为每个条目的关键字,使用item.userInput字符串作为对象。这是一个Swift的例子,对于objective C开发人员来说应该是可读的。

代码语言:javascript
复制
var myLexicon = NSMutableDictionary()

self.requestSupplementaryLexiconWithCompletion { (theLexicon: UILexicon!) -> Void in
   let lexiconEntries = theLexicon.entries

   // Completion handler
   for item in lexiconEntries {
         myLexicon.setObject(item.documentText, forKey: item.userInput)
    }
 }

请注意,使用NSDictionary可以从词典中过滤出重复的条目,但这应该不是问题,因为每个userInput应该只输出到一个documentText。

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

https://stackoverflow.com/questions/25679220

复制
相关文章

相似问题

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