我試圖繼承UILexicon,所以我可以在init部分創建自己的條目。但是,條目數組是隻讀的。如何在鍵盤擴展(iOS 8)中爲我的自定義預測欄創建自己的單詞來源?創建自己的UILexicon條目
2
A
回答
0
似乎並沒有出現Apple設計的UILexicon和UILexiconEntry爲可變或創建可變副本。我在Swift中開發,它的實現不允許實例化新的UILexiconEntry對象,雖然我可以實例化一個新的UILexicon對象,但我無法將它添加到它的條目列表中。
因此Objective C接口的行爲似乎是合理的,文檔支持這種說法:「Apple希望您將詞彙對象中的詞作爲對自己設計的自動糾正/建議詞典的補充。」
幸運的是,爲Lexicon Entries創建自己的存儲非常簡單,NSDictionary可以直接存儲它們。首先使用userInput字符串作爲每個條目的鍵,並使用item.userInput字符串作爲對象,從現有UILexicon列表中加載條目。這裏是Swift中的一個例子,對於一個客觀的C開發人員來說應該是可讀的。
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。
相關問題
- 1. 從你自己的寶石創建一個路由條目
- 2. 如何創建自己的Web項目?
- 3. 創建自己的JLabel
- 4. 創建自己的「SeekBar」
- 5. 創建我自己的API
- 6. 創建自己的OnItemClickListener
- 7. 創建自己的groovy庫
- 8. 創建自己的NotificationStyle
- 9. 創建自己的類
- 10. 創建您自己的HRESULT?
- 11. 創建自己的LiveWallpaperPreview?
- 12. 創建自己的Zend_Auth_Adapter
- 13. 自定義URL中的條目創建條目時,WordPress的
- 14. 在C#中爲我自己的項目創建我自己的插件
- 15. 如何爲j2me項目創建自己的jar構建器
- 16. 創建自動創建一個新的數據庫條目
- 17. 使用Django Gargoyle如何創建自己的條件集?
- 18. Python:使用滾動條創建自己的Widget
- 19. 創建自己的Exception類的目的是什麼
- 20. 自定義UITableViewCell重新創建自己
- 21. Django的:創建條目(post_save)
- 22. 目前可以創建我自己的角色IDP嗎?
- 23. Visual Studio - 創建我自己的ASP MVC項目模板
- 24. 在MVC4中創建自己的VirtualPathProvider?
- 25. 創建自己的文件擴展名
- 26. 休眠創建自己的外鍵
- 27. 如何創建我自己的setSVMDetector?
- 28. 創建自己的C函數庫
- 29. Hadoop創建您自己的程序
- 30. 創建自己的數據源